Systems and methods for trip planning

ABSTRACT

A method performed by an electronic device is described. The method includes obtaining one or more trip objectives. The method also includes obtaining one or more evaluation bases. The method further includes identifying an association between at least one site and the one or more trip objectives. The method additionally includes obtaining sensor data from the at least one site. The sensor data includes at least image data. The method also includes performing analysis on the image data to determine dynamic destination information corresponding to the at least one site. The method further includes performing trip planning based on the dynamic destination information, the one or more trip objectives, and the one or more evaluation bases. The method additionally includes providing one or more suggested routes based on the trip planning.

RELATED APPLICATION

This application is related to and claims priority to U.S. ProvisionalPatent Application Ser. No. 62/421,729, filed Nov. 14, 2016, for“SYSTEMS AND METHODS FOR TRIP PLANNING.”

FIELD OF DISCLOSURE

The present disclosure relates generally to electronic devices. Morespecifically, the present disclosure relates to systems and methods fortrip planning.

BACKGROUND

In the last several decades, the use of electronic devices has becomecommon. In particular, advances in electronic technology have reducedthe cost of increasingly complex and useful electronic devices. Costreduction and consumer demand have proliferated the use of electronicdevices such that they are practically ubiquitous in modern society. Asthe use of electronic devices has expanded, so has the demand for newand improved features of electronic devices. More specifically,electronic devices that perform new functions, perform richer functions,and/or that perform functions faster, more efficiently, and/or morereliably are often sought after.

Advances in technology have resulted in smaller and more powerfulelectronic devices. For example, there currently exist a variety ofelectronic devices such as portable wireless telephones (e.g.,smartphones), personal digital assistants (PDAs), laptop computers,tablet computers and paging devices that are each small, lightweight andcan be easily carried by users.

Users often value time, money, and experience when engaging in variousactivities. However, users may be limited in their ability to accessand/or assess information to improve their experience, expenditure oftime, and/or expenditure of money. As can be observed from thisdiscussion, improving user experience, improving expenditure of time,and/or improving expenditure of money may be beneficial.

SUMMARY

A method performed by an electronic device is described. The methodincludes obtaining one or more trip objectives. The method also includesobtaining one or more evaluation bases. The method further includesidentifying an association between at least one site and the one or moretrip objectives. The method additionally includes obtaining sensor datafrom the at least one site. The sensor data includes at least imagedata. The method also includes performing analysis on the image data todetermine dynamic destination information corresponding to the at leastone site. The method further includes performing trip planning based onthe dynamic destination information, the one or more trip objectives,and the one or more evaluation bases. The method additionally includesproviding one or more suggested routes based on the trip planning.

The method may include determining whether one of the one or moresuggested routes is accepted. In a case that none of the one or moresuggested routes is accepted, the method may include obtainingnon-service information for one or more non-service sites and performingtrip planning based on comparing the non-service information with thedynamic destination information. In a case that none of the one or moresuggested routes is accepted, the method may include providing one ormore alternate routes based on the comparison.

The method may include determining whether one of the one or moresuggested routes is accepted. In a case that none of the one or moresuggested routes is accepted, the method may include providing one ormore alternate routes and performing trip planning training based on analternate route selection.

The dynamic destination information may be updated on an order ofminutes or seconds. The dynamic destination information may include atime aspect of an activity at the at least one site, a population aspectat the at least one site, a product aspect at the at least one site, aservice aspect at the at least one site, and/or a site feature aspect.The time aspect may include parking time, wait time, transaction time,and/or service time. The population aspect may include a number ofpeople, demographics of people, clothing of people, emotion of people,state of people, and/or activity of people. The product aspect at the atleast one site may include product availability, product accessibility,product deals, and/or product price. The service aspect may includeservice availability, service accessibility, service deals, and/orservice price. The site feature aspect may include type of furniture,location of furniture, amount of furniture, furniture occupancy, numberof bathrooms, bathroom availability, site cleanliness, and/or sitelighting.

The method may include determining a selection or weighting of aplurality of information types for trip planning. The plurality ofinformation types may include the dynamic destination information andone or more other information types. The one or more other informationtypes may be based on at least one image taken from a vehicle of anexternal scene.

The method may include ranking a set of potential trips based on adegree to which each of the potential trips satisfies the one or moretrip objectives in accordance with the one or more evaluation bases. Themethod may include obtaining analysis on one or more images of one ormore users from a vehicle interior to determine user model data.Performing the trip planning may be further based on the user modeldata.

An electronic device is also described. The electronic device includes aprocessor. The electronic device also includes a memory in electroniccommunication with the processor. The electronic device further includesinstructions stored in the memory. The instructions are executable toobtain one or more trip objectives. The instructions are also executableto obtain one or more evaluation bases. The instructions are furtherexecutable to identify an association between at least one site and theone or more trip objectives. The instructions are additionallyexecutable to obtain sensor data from the at least one site. The sensordata includes at least image data. The instructions are also executableto perform analysis on the image data to determine dynamic destinationinformation corresponding to the at least one site. The instructions arefurther executable to perform trip planning based on the dynamicdestination information, the one or more trip objectives, and the one ormore evaluation bases. The instructions are additionally executable toprovide one or more suggested routes based on the trip planning.

A non-transitory tangible computer-readable medium storingcomputer-executable code is also described. The computer-readable mediumincludes code for causing an electronic device to obtain one or moretrip objectives. The computer-readable medium also includes code forcausing the electronic device to obtain one or more evaluation bases.The computer-readable medium further includes code for causing theelectronic device to identify an association between at least one siteand the one or more trip objectives. The computer-readable mediumadditionally includes code for causing the electronic device to obtainsensor data from the at least one site. The sensor data includes atleast image data. The computer-readable medium also includes code forcausing the electronic device to perform analysis on the image data todetermine dynamic destination information corresponding to the at leastone site. The computer-readable medium further includes code for causingthe electronic device to perform trip planning based on the dynamicdestination information, the one or more trip objectives, and the one ormore evaluation bases. The computer-readable medium additionallyincludes code for causing the electronic device to provide one or moresuggested routes based on the trip planning.

An apparatus is also described. The apparatus includes means forobtaining one or more trip objectives. The apparatus also includes meansfor obtaining one or more evaluation bases. The apparatus furtherincludes means for identifying an association between at least one siteand the one or more trip objectives. The apparatus additionally includesmeans for obtaining sensor data from the at least one site. The sensordata includes at least image data. The apparatus also includes means forperforming analysis on the image data to determine dynamic destinationinformation corresponding to the at least one site. The apparatusfurther includes means for performing trip planning based on the dynamicdestination information, the one or more trip objectives, and the one ormore evaluation bases. The apparatus additionally includes means forproviding one or more suggested routes based on the trip planning.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating one example of an electronicdevice in which systems and methods for trip planning may beimplemented;

FIG. 2 is a flow diagram illustrating one configuration of a method fortrip planning;

FIG. 3 is a flow diagram illustrating another configuration of a methodfor trip planning;

FIG. 4 is a flow diagram illustrating a more specific configuration of amethod for trip planning;

FIG. 5 is a block diagram illustrating an example of trip planning;

FIG. 6 is a block diagram illustrating an example of intelligencegathering for a grocery store trip;

FIG. 7 is a block diagram illustrating an example of intelligencegathering for a bar or restaurant trip;

FIG. 8 is a flow diagram illustrating an example of a method forfeedback and refinement in accordance with some configurations of thesystems and methods disclosed herein;

FIG. 9 is a block diagram illustrating one example of a trainer that maybe implemented in accordance with some configurations of the systems andmethods disclosed herein; and

FIG. 10 illustrates certain components that may be included within anelectronic device.

DETAILED DESCRIPTION

The systems and methods disclosed herein may relate to trip planning.For instance, some configurations of the systems and methods disclosedherein may provide trip planning based on local destination analysis. Inparticular, some example use cases of the systems and methods disclosedherein may include driving to work in the shortest amount of time,running errands in a time efficient way, and decision making on whetherto run errands. One objective of some configurations may be to optimizerouting decisions based on local destination information (e.g., thelength of a line within a grocery store, detected emotions of patrons ofa bar, etc.). The systems and methods disclosed herein may be usefuland/or beneficial, particularly as people spend more and more time incars in transit.

The systems and methods disclosed herein may be implemented in a varietyof contexts, which may include mobile platforms and/or automotiveplatforms. The systems and methods disclosed herein may be implementedin applications for entertainment, productivity, and/or navigation, etc.

Driving a car (e.g., a user-driven car or a driverless car) may requiredecisions to be made on the route taken, given the allotted time. Someconfigurations of the systems and methods disclosed herein may help inthis process, increasing (e.g., maximizing) the efficient usage ofresources such as time and money. Additionally or alternatively, someconfigurations of the systems and methods disclosed herein may allow forother goals and/or tasks to be accomplished concurrently (e.g.,simultaneously).

Some navigation systems do not provide local information for specificdestinations or destination types. For example, while trafficinformation, weather information, road information, etc., may beavailable for suggested routing and trip planning, services may beunable to query conditions within a destination for consideration by auser.

In one scenario, a user would like to compare time costs for visitingdifferent grocery stores on the way home. Part of these costs may beattributed to transit time on road. Additional aspects of cost fordifferent options may include parking availability, length of servicelines, availability of products of interest, etc.

In another scenario, a user would like suggestions on potential diningoptions. In addition to time costs discussed above and similarconsiderations (e.g., wait time for table, average length of stay bypatrons, etc.), the user may be interested in overall emotional state ofpatrons, classification of patrons (e.g., female versus maledistribution, style of dress, number of people, etc.), type of music,volume of music, lighting conditions, etc.

Given the trip type (e.g., objective(s), task(s), purpose(s), etc.) andone or more evaluation bases (e.g., optimization goals), someconfigurations of the systems and methods disclosed herein may evaluateand analyze potential destinations by use of distributed, automatedinformation sources. Such sources may include information gathered usingcomputer vision analysis of Internet protocol (IP) cameras (e.g., face,object, scene, gender, emotion, motion, clothing analysis, etc.) as wellas sensor data (e.g., beacons, global positioning system (GPS), heatsensor, microphone, etc.). Based on the analysis of destination and/orof the route itself, the systems and methods disclosed herein maysuggest an optimal trip (e.g., route). Other information sources (e.g.,social media, purchase activity, and/or a digital calendar, etc.) may beused to evaluate and analyze potential destinations in someconfigurations.

Some configurations of the systems and methods disclosed herein mayutilize computer vision as part of a smart cities system. For example,information may be fed back to a system that helps decision making androute planning.

Various configurations are now described with reference to the Figures,where like reference numbers may indicate functionally similar elements.The systems and methods as generally described and illustrated in theFigures herein could be arranged and designed in a wide variety ofdifferent configurations. Thus, the following more detailed descriptionof several configurations, as represented in the Figures, is notintended to limit scope, as claimed, but is merely representative of thesystems and methods.

FIG. 1 is a block diagram illustrating one example of an electronicdevice 102 in which systems and methods for trip planning may beimplemented. Examples of the electronic device 102 include cellularphones, smart phones, computers (e.g., desktop computers, laptopcomputers, etc.), tablet devices, media players, televisions,automobiles, cameras, video camcorders, digital cameras, personalcameras, action cameras, wearable device cameras (e.g., camerasintegrated with watches, head-mounted displays, etc.), wearable devices(e.g., smart watches), surveillance cameras, mounted cameras, connectedcameras, robots, aircraft, drones, drone cameras, unmanned aerialvehicles (UAVs), healthcare equipment, gaming consoles, personal digitalassistants (PDAs), set-top boxes, etc. The electronic device 102 mayinclude one or more components or elements. One or more of thecomponents or elements may be implemented in hardware (e.g., circuitry)or a combination of hardware and software (e.g., a processor withinstructions).

In some configurations, the electronic device 102 may include aprocessor 112, a memory 126, a display 132, one or more image sensors104, one or more optical systems 106, and/or a communication interface108. The processor 112 may be coupled to (e.g., in electroniccommunication with) the memory 126, display 132, image sensor(s) 104,optical system(s) 106, and/or communication interface 108. It should benoted that one or more of the elements illustrated in FIG. 1 may beoptional. In particular, the electronic device 102 may not include oneor more of the elements illustrated in FIG. 1 in some configurations.For example, the electronic device 102 may or may not include an imagesensor 104 and/or optical system 106. Additionally or alternatively, theelectronic device 102 may or may not include a display 132.

In some configurations, the electronic device 102 may present a userinterface 134 on the display 132. For example, the user interface 134may enable a user to interact with the electronic device 102. In someconfigurations, the display 132 may be a touchscreen that receives inputfrom physical touch (by a finger, stylus, or other tool, for example).Additionally or alternatively, the electronic device 102 may include orbe coupled to another input interface. For example, the electronicdevice 102 may include a camera facing a user and may detect usergestures (e.g., hand gestures, arm gestures, eye tracking, eyelid blink,etc.). In another example, the electronic device 102 may be coupled to amouse and may detect a mouse click. In another example, the electronicdevice 102 may provide a voice interface (instead of or in addition to atouch screen interface, for instance). For example, the electronicdevice 102 may include, may be coupled to, and/or may be incommunication with a microphone that receives speech signals. The voiceinterface may recognize speech (e.g., words) to provide input (e.g.,commands, instructions, etc.) to the electronic device 102 (e.g., to theprocessor 112, intelligence obtainer 124, trip planner 120, etc.). Insome configurations, one or more of the images described herein may bepresented on the display 132 and/or user interface 134.

The communication interface 108 may enable the electronic device 102 tocommunicate with one or more other electronic devices. For example, thecommunication interface 108 may provide an interface for wired and/orwireless communications. In some configurations, the communicationinterface 108 may be coupled to one or more antennas 110 fortransmitting and/or receiving radio frequency (RF) signals. Additionallyor alternatively, the communication interface 108 may enable one or morekinds of wireline (e.g., Universal Serial Bus (USB), Ethernet, etc.)communication.

In some configurations, multiple communication interfaces 108 may beimplemented and/or utilized. For example, one communication interface108 may be a cellular (e.g., 3G, Long Term Evolution (LTE), CDMA, etc.)communication interface 108, another communication interface 108 may bean Ethernet interface, another communication interface 108 may be auniversal serial bus (USB) interface, and yet another communicationinterface 108 may be a wireless local area network (WLAN) interface(e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11interface).

In some configurations, the electronic device 102 (e.g., image obtainer114) may obtain one or more images (e.g., digital images, image frames,frames, video, etc.). The one or more images (e.g., frames) may beimages of a scene (e.g., one or more objects and/or background). Forexample, the electronic device 102 may include one or more image sensors104 and one or more optical systems 106 (e.g., lenses). An opticalsystem 106 may focus images of objects that are located within the fieldof view of the optical system 106 onto an image sensor 104. The opticalsystem(s) 106 may be coupled to and/or controlled by the processor 112in some configurations.

A camera may include at least one image sensor and at least one opticalsystem. Accordingly, the electronic device 102 may be one or morecameras and/or may include one or more cameras in some implementations.In some configurations, the image sensor(s) 104 may capture the one ormore images (e.g., image frames, video, still images, burst mode images,stereoscopic images, etc.). In some implementations, the electronicdevice 102 may include multiple optical system(s) 106 and/or multipleimage sensors 104.

Additionally or alternatively, the electronic device 102 may requestand/or receive the one or more images from another device (e.g., one ormore external image sensors coupled to the electronic device 102, anetwork server, traffic camera, drop camera, automobile camera, webcamera, security camera, remote camera, on-site camera, other electronicdevices, mobile devices, user devices, smart phones, etc.). In someconfigurations, the electronic device 102 may request and/or receive theone or more images via the communication interface 108. For example, theelectronic device 102 may or may not include a camera (e.g., an imagesensor 104 and/or optical system 106) and may receive images from one ormore remote devices (e.g., remote cameras, remote servers, remoteelectronic devices, remote user devices, etc.).

The memory 126 may store instructions and/or data. The processor 112 mayaccess (e.g., read from and/or write to) the memory 126. Examples ofinstructions and/or data that may be stored by the memory 126 mayinclude destination information 128 (e.g., real-time dynamic destinationinformation), trip planning information, trip objective information,evaluation basis information, image obtainer 114 instructions,intelligence obtainer 124 instructions, destination information obtainer116 instructions, image data analyzer 118 instructions, trip planner 120instructions, trip objective information obtainer 122 instructions,and/or instructions for other elements, etc.

In some configurations, the electronic device 102 (e.g., the memory 126)may include an image data buffer (not shown). The image data buffer maybuffer (e.g., store) image data (e.g., image frame(s)) from the imagesensor 104. The buffered image data may be provided to the processor112.

In some configurations, the electronic device 102 may include a camerasoftware application and/or a display 132. When the camera applicationis running, images of scenes and/or objects that are located within thefield of view of the optical system 106 may be captured by the imagesensor(s) 104. The images that are being captured by the image sensor(s)104 may be presented on the display 132. In some configurations, theseimages may be displayed in rapid succession at a relatively high framerate so that, at any given moment in time, the objects that are locatedwithin the field of view of the optical system 106 are presented on thedisplay 132. The one or more images obtained by the electronic device102 may be one or more video frames and/or one or more still images.

The processor 112 may include and/or implement an intelligence obtainer124 (e.g., an intelligence gatherer), a destination information obtainer116, a trip planner 120, a trip objective information obtainer 122, animage obtainer 114, and/or an image data analyzer 118. It should benoted that one or more of the elements illustrated in the electronicdevice 102 and/or processor 112 may be optional. For example, the imageobtainer 114 and/or the image data analyzer 118 may or may not beincluded and/or implemented. Additionally or alternatively, one or moreof the elements illustrated in the processor 112 may be implementedseparately from the processor 112 (e.g., in other circuitry, on anotherprocessor, on a separate electronic device, etc.).

The processor 112 may include and/or implement a trip objectiveinformation obtainer 122. The trip objective information obtainer 122may obtain trip objective information. For example, the trip objectiveinformation obtainer 122 may obtain information regarding one or moretrip objectives. Trip objective information may include one or more tripobjectives and/or one or more evaluation bases. Examples of tripobjectives may include one or more destinations, activities, products,services, etc. For instance, trip objectives may be places (e.g.,specific places or a general place category) where a user wants to go,activities the user wants to engage in (e.g., dancing, dining, groceryshopping, work, an event, socializing, etc.), products that the userwants to buy or browse, and/or services that the user wants rendered.

The evaluation basis or bases may be one or more criteria for evaluatingone or more destinations (e.g., sites) and/or potential trips. Examplesof evaluation bases may include money, time, safety, population (e.g.,number of people, demographics, clothing, emotion, state, activity,etc.), product availability, product accessibility, product deals,product price, service availability, service accessibility, servicedeals, and/or service price, etc. For instance, an evaluation basis maybe time, indicating that one or more destinations are to be evaluatedbased on time, with shorter times receiving priority. In anotherexample, an evaluation basis may be money, indicating that one or moredestinations are to be evaluated based on cost in money, with lowermoney costs receiving priority. Combinations of evaluation bases may beobtained and/or utilized. For example, a lowest money cost within anamount of time may be the evaluation bases. An example of evaluationbases is provided in connection with FIG. 5.

In some configurations, the trip objective information obtainer 122 mayobtain the trip objective information from the user interface 134. Forexample, the user interface 134 may receive trip objective information(e.g., one or more trip objectives and/or one or more evaluation bases)from inputs received from a user. Additionally or alternatively, thetrip objective information obtainer 122 may receive trip objectiveinformation from a remote device. For example, the communicationinterface 108 may receive one or more signals from a remote deviceindicating the trip objective information.

The processor 112 may include and/or implement an intelligence obtainer124. The intelligence obtainer 124 may obtain (e.g., gather) one or moretypes of information for trip planning. For example, the intelligenceobtainer 124 may obtain vehicle information, environment information,road information, and/or destination information.

Vehicle information may be information about one or more vehicles for atrip. Vehicle information may include information (e.g., statusinformation, vehicle sensor information, etc.) that may be obtaineddirectly from a vehicle. For example, vehicle information may includefuel remaining, engine temperature, engine status, tire information(e.g., tire inflation, tire wear, tire type, etc.), oil status (e.g.,oil life remaining), brake wear, vehicle camera image data, speed,revolutions per minute (RPM), occupancy, fluid status (e.g., brakefluid, transmission fluid, windshield wiper fluid, etc.), alarm codes,and/or cargo weight, etc. In some configurations, the vehicleinformation may be obtained from one or more vehicle sensors (e.g.,integrated vehicle sensors). The vehicle information may be transmittedto another device (e.g., a remote device) in some approaches.

The environment information may include environment informationcorresponding to a vehicle, to routes (e.g., roads), and/or other areas(e.g., potential destinations, etc.). For example, environmentinformation may include visibility (e.g., fog), weather conditions(e.g., sunny, rain, snow, freezing rain, forecasted weather, etc.), etc.In some configurations, the environment information may be obtained froma remote device (e.g., a web-based weather service, a remote server,etc.). Additionally or alternatively, environment information may beobtained from one or more vehicle sensors (e.g., temperature sensor). Insome configurations, the vehicle information may be obtained (e.g.,received, determined, etc.) based on image data from a vehicle camera(e.g., an external-facing camera integrated into the (interior orexterior of the) vehicle and/or mounted on the vehicle) and/or a camerathat captures a scene that the vehicle is in. For example, theelectronic device 102 may perform analysis on image data (of an externalscene, for instance) from the camera to determine visibility (e.g.,fog), weather conditions (e.g., sunny, rain, snow, freezing rain,forecasted weather, etc.), etc.

The path information may include information about one or more paths(e.g., potential routes, roads, paths, sidewalks, bike lanes, biketrails, rails, etc.). Path information may include information regardingtravel to one or more destinations. For example, path information mayinclude traffic information, road condition (e.g., potholes, loosegravel, etc.), construction (e.g., closed lanes), carpool laneavailability, path distance(s), path travel time, path traffic, and/orpath type(s) (e.g., automobile, bus, train, bike, walking, airplane,boat, etc.), etc. In some configurations, the path information may beobtained from a remote device (e.g., a web-based service, a remoteserver, etc.). Additionally or alternatively, path information may beobtained from one or more vehicle sensors (e.g., traction control,vehicle image sensors, etc.). For example, path information may beobtained (e.g., received, determined, etc.) based on image data from avehicle camera (e.g., an external-facing camera integrated into the(interior or exterior of the) vehicle and/or mounted on the vehicle)and/or a camera that captures an image of the path (e.g., road). Forinstance, the electronic device 102 may perform analysis on image data(of a road image, for instance) from the camera to determine the pathinformation.

The processor 112 may include and/or implement a destination informationobtainer 116. The destination information obtainer 116 may obtaindestination information. For example, the destination informationobtainer 116 may obtain real-time dynamic destination information. Thedynamic destination information may correspond to one or more sites(e.g., potential destinations). A site may be a location, an area, anestablishment, a venue, a facility, a building, a park, etc. Thedestination information obtainer 116 may obtain dynamic destinationinformation that is specific to one or more sites. Dynamic destinationinformation may include information about a site that is dynamic (e.g.,changeable, variable, etc.). For example, dynamic destinationinformation may include destination information that may vary (e.g., mayvary periodically or aperiodically, irregularly, unpredictably, with adegree of uncertainty, etc.). In some configurations, real-time dynamicdestination information may be updated on an order of minutes, seconds,milliseconds, or less (e.g., not on an order of hours or days).Real-time dynamic destination information may indicate real-timeinformation about a current site status and/or current activity at asite. For example, real-time dynamic destination information may not bea projection of historical trends to estimate expected activity orstatus at a site. For example, real-time dynamic destination informationmay indicate a current wait time based on real-time data from a site,not based on historical data. In some configurations, the destinationinformation (e.g., destination information 128) may be stored in thememory 126. In some configurations, “real-time” may mean close in time(e.g., not necessarily contemporaneous). For example, “real-time” and/orclose in time may be within one or more time ranges (e.g., within 10minutes, 5 minutes, 1 minute, 30 seconds (s), 15 s, 10 s, 5 s, 3 s, 1 s,800 milliseconds (ms), 500 ms, 300 ms, 200 ms, 100 ms, 50 ms, 25 ms, 15ms, etc.) from actual events, occurrences, and/or states. For instance,“real-time” may include only one or more of times (e.g., delays) tocapture data, store data, process data, interpret data, transmit (e.g.,format, modulate, encode, amplify, etc.) data, and/or receive (e.g.,amplify, demodulate, decode, de-format, etc.) data.

One or more types of information inputs may be utilized to obtaindestination information (e.g., dynamic destination information,real-time dynamic destination information, etc.). For example, types ofinformation inputs may include microphones, cameras (e.g., IP cameras),mobile device cameras (e.g., an opt-in service that may share data withthe system), wearable device cameras (e.g., cameras integrated withwatches or head-mounted displays), drone cameras, and/or beacons. Forexample, destination information may be based on one or more smart phoneimages from the destination. In some configurations, real-time dynamicdestination information may be based on information from one or moreon-site sensors. For example, a site (e.g., area, venue, business,building, etc.) may include one or more on-site sensors such as imagesensors, cameras, microphones, pressure sensors, and/or light sensors,etc. In some configurations, one or more fixed on-site sensors may beinstalled, statically affixed, and/or semi-statically affixed at a site.For example, a fixed on-site sensor (e.g., a mounted camera, installedpressure sensor, installed light sensor, etc.) may be a fixture at asite. Additionally or alternatively, one or more mobile on-site sensorsmay be utilized. A mobile on-site sensor may be a mobile (e.g.,transient, moveable, etc.) sensor at a site. Examples of mobile on-sitesensors may include smartphones, wearable cameras, etc.

It should be noted that one or more other information inputs that do notprovide real-time dynamic destination information may be utilized incombination with real-time dynamic destination information in someconfigurations. For example, social media data (e.g., non-real-timepostings including text, audio data, and/or image data on a platform ata given location/destination, etc.) may be used in combination withreal-time dynamic destination information in some approaches for tripplanning.

The dynamic destination information (e.g., real-time dynamic destinationinformation) may be determined by the electronic device 102 and/or byone or more remote devices. For example, the electronic device 102 mayperform analysis (e.g., scene analysis, computer vision analysis,classification analysis, etc.) on one or more images to determine thereal-time dynamic destination information. Additionally oralternatively, the electronic device 102 may request and/or receivereal-time dynamic destination information from one or more remotedevices. For example, the destination information obtainer 116 mayrequest and/or receive one or more time aspects, population aspects,product aspects, service aspects, and/or feature aspects (via thecommunication interface 108, for example). For instance, a web servermay report wait times at restaurants, club occupancy, etc.

In some configurations, the dynamic destination information (e.g.,real-time dynamic destination information) may include a time aspect ofan activity at the site(s), a population aspect at the site(s), aproduct aspect at the site(s), a service aspect at the site(s), and/or asite feature aspect. Examples of the time aspect may include parkingtime, wait time, transaction time, and/or service time. Examples of thepopulation aspect may include a number of people (e.g., real-time numberof people), density of people, demographics of people, clothing ofpeople, emotion of people, state of people, and/or activity of people.Examples of the product aspect may include product availability, productaccessibility, product deals, and/or product price. Examples of theservice aspect may include service availability, service accessibility,service deals, and/or service price. Examples of the site feature aspectmay include furniture occupancy, type of furniture, location offurniture, amount of furniture, number of bathrooms, bathroomavailability, site cleanliness, and/or site lighting.

It should be noted that real-time dynamic destination information maynot include historical information (e.g., information older than thereal-time dynamic destination information). For example, the real-timedynamic destination information may not include historical trends basedon group (e.g., aggregate) population behavior (e.g., how busy a venuemay be per hour based on historical data and/or trends). It should befurther noted that real-time dynamic destination information may beutilized without historical information in some configurations, or maybe used in combination with historical information in someconfigurations.

In some approaches, the dynamic destination information (e.g., real-timedynamic destination information) may be configurable and/or may begenerated in response to a specific request. For example, the dynamicdestination information may be determined based on the trip objectiveinformation (e.g., one or more evaluation bases and/or one or more tripobjectives). For instance, different dynamic destination information(e.g., real-time dynamic destination information) may be requested,received, and/or determined based on a specific user request. In oneexample, a user may request a gender ratio for a particular venue(and/or request a trip objective that takes gender ratio into account).In response, the electronic device 102 (e.g., destination informationobtainer 116) may utilize an image data analyzer 118 to determine anumber of males and a number of females at the venue to determine thegender ratio. In another example, a user may request a number of opentables at the venue (and/or request a trip objective that takes opentables into account). In response, the electronic device 102 may utilizethe image data analyzer 118 to determine how many tables are open (e.g.,not occupied). For example, computer vision may provide the capabilityto configure the type of real-time dynamic destination information(based on requests, for example) via classifiers. Accordingly, thereal-time dynamic destination information type may be configurable(e.g., not static) in some implementations. Therefore, the real-timedynamic destination information may vary by type and may provide greaterflexibility than statically providing only one kind of information (suchas parking availability sensor data that is pre-set to only provideinformation on a number of available spaces, for instance).

In some configurations, the intelligence obtainer 124 may obtainnon-service information (e.g., information for one or more sites wheresite-specific information is not available). For example, onlynon-service information may be available for one or more sites in somecases. For instance, one or more non-service sites may satisfy one ormore trip objectives, but may not be evaluated with one or moreevaluation bases due to the lack of in-service information. Destinationinformation for one or more sites where site-specific dynamicdestination information (e.g., real-time dynamic destination informationis available) may be referred to as in-service information in someconfigurations.

The processor 112 may include and/or implement a trip planner 120. Thetrip planner 120 may perform trip planning based on the obtainedintelligence. For example, the trip planner 120 may perform tripplanning based on destination information (e.g., the real-time dynamicdestination information), vehicle information, environment information,and/or road information. Additionally or alternatively, the trip planner120 may perform trip planning based on the dynamic destinationinformation (e.g., real-time dynamic destination information), the oneor more trip objectives, and/or the one or more evaluation bases. Insome approaches, trip planning may be performed with one or morein-service sites and/or one or more non-service sites.

In some configurations, the trip planner 120 may identify an associationbetween at least one destination (e.g., site) and one or more tripobjectives (e.g., determine one or more potential destinations). Theassociation may indicate that one or more trip objectives may beaccomplished (e.g., fulfilled) at one or more destinations (e.g.,sites). For example, the trip planner 120 may determine a set ofpotential destinations (e.g., sites) that may meet one or more tripobjectives. For instance, if a trip objective is to go grocery shopping,the trip planner 120 may determine one or more grocery stores. The tripplanner 120 may determine the potential destination(s) from one or moresources. For example, the trip planner 120 may access the memory 126,which may include a record (e.g., database) of one or more potentialdestinations and/or trip objectives that may be accomplished at thedestinations (e.g., sites). Additionally or alternatively, the tripplanner 120 may request and/or receive potential destination(s) (and/orassociated objectives that may be accomplished) from one or more remotedevices (e.g., web servers) via the communication interface 108. If thetrip objective(s) may be accomplished at a destination (e.g., site), thetrip planner 120 may determine (e.g., assign, form, generate, etc.) anassociation. In some approaches, the destination(s) (e.g., site(s)) mayinclude one or more in-service destinations and/or one or morenon-service destinations. In some configurations, the trip planner 120may provide the one or more potential destinations to the destinationinformation obtainer 116. The destination information obtainer 116 mayutilize the potential destination(s) to obtain (e.g., request and/orreceive) the destination information (e.g., the real-time dynamicdestination information). Additionally or alternatively, theintelligence obtainer 124 may utilize the potential destination(s)(e.g., site(s)) to obtain road information and/or environmentalinformation. In some configurations, obtaining non-service informationfor one or more non-service sites may be performed in a case that noneof the suggested routes is accepted. For example, trip planning may beperformed based on comparing the non-service information with in-serviceinformation. The electronic device 102 (e.g., trip planner 120, userinterface 134, display 132, etc.) may provide one or more alternateroutes based on the comparison. In some configurations, obtaining andcomparing non-service information and/or suggesting non-service site(s)may be performed without being conditioned on route acceptance. In someconfigurations, non-service sites may be scored based on a lack ofcomparability. For example, if an in-service site and a non-service siteare at equal distances, the non-service site may be scored lower due tothe unknown condition(s) at the site.

In some approaches, the potential destinations may be limited ingeographical area. For example, the trip planner 120 may determinepotential destinations within a distance (e.g., within a radialdistance, within a city, county, state, and/or region, etc.) from thelocation of the user.

The trip planner 120 may evaluate the one or more potential destinations(e.g., sites) based on the destination information. For example, thetrip planner 120 may evaluate the one or more potential destinationsand/or one or more combinations of potential destinations (e.g.,potential trips) to suggest and/or execute one or more trips. Forexample, the trip planner 120 may rank a set of potential trips based ona degree to which each of the potential trips satisfies one or more tripobjectives in accordance with one or more evaluation bases. Forinstance, if an evaluation basis is time, the trip planner 120 may rankthe potential trips based on the amount of time required for eachpotential trip. The potential trip that requires the shortest amount oftime may be suggested and/or executed.

In some configurations and/or cases, the trip planner 120 may compareone or more in-service destinations (e.g., sites) to one or morenon-service destinations (e.g., sites). For example, the one or morein-service destinations may have corresponding site-specific information(e.g., real-time dynamic destination information), whereas the one ormore non-service destinations may not have corresponding site-specificinformation. For instance, the trip planner 120 may determine one ormore non-service destinations that have an association with one or moretrip objectives, but where site-specific information from the site isunavailable. In one example, the trip planner 120 may compare anin-service destination (e.g., site A) with a non-service destination(e.g., site B), because both site A and site B meet a trip objective(e.g. coffee). In this example, the trip planner 120 may compareavailable information (e.g., distances to site A and site B). Forinstance, the trip planner 120 may provide site B as a suggestion alongwith site A because site B is closer than site A, even though site Bdoes not have any on-site destination information (e.g., real-timedynamic destination information) available. In some approaches, thesuggestion may indicate that site B does not have on-site destinationinformation available (if site B cannot be fully evaluated due to lackof on-site destination information, for example).

In some approaches, the trip planner 120 may provide an output to thedisplay 132 (e.g., user interface 134) indicating the suggested tripand/or trip for execution. The trip planner 120 may provide a list ofranked potential trips to the user interface 134 for selection in someapproaches. Additionally or alternatively, the trip planner 120 may sendone or more suggested trips to another device (e.g., to a smartphone, toa computer, etc.).

As described above, the electronic device 102 (e.g., processor 112,intelligence obtainer 124, etc.) may obtain path information, vehicleinformation, and/or environment information. In some configurations, thetrip planner 120 may perform trip planning based on the pathinformation, vehicle information, and/or environment information incombination with the destination information (e.g., the real-timedynamic destination information) in some approaches. For example, pathtravel time in combination with parking time and transaction time may betaken into account for a grocery shopping trip.

In some configurations, obtaining the destination information (e.g.,real-time dynamic destination information) may be based on computervision and image data of one or more sites. For example, the electronicdevice 102 may obtain one or more images (e.g., still images, burstimages, video, etc.) from one or more sites and may perform computervision analysis on the image(s) to determine real-time dynamicdestination information. Additionally or alternatively, a remote devicemay obtain one or more images and/or may perform computer visionanalysis to determine real-time dynamic destination information, whichthe electronic device 102 may request and/or receive. More detailregarding obtaining image(s) and/or performing computer vision analysisis given as follows, which may be performed by the electronic device 102and/or one or more remote devices.

The processor 112 may include and/or implement an image obtainer 114.One or more images (e.g., image frames, video, burst shots, etc.) may beprovided to the image obtainer 114. For example, the image obtainer 114may obtain image frames from one or more image sensors 104. Forinstance, the image obtainer 114 may receive image data from one or moreimage sensors 104 and/or from one or more external cameras. As describedabove, the image(s) may be captured from the image sensor(s) 104included in the electronic device 102 or may be captured from one ormore remote camera(s).

In some configurations, the image obtainer 114 may request and/orreceive one or more images (e.g., image frames, etc.). For example, theimage obtainer 114 may request and/or receive one or more images from aremote device (e.g., external camera(s), remote server, remoteelectronic device, etc.) via the communication interface 108. The imagesobtained from the cameras may be utilized by the electronic device 102for computer vision analysis (and/or determining real-time dynamicdestination information).

The processor 112 may include and/or implement an image data analyzer118. The image data analyzer 118 may perform analysis (e.g., computervision analysis, scene analysis, classification analysis, etc.) on theone or more images. In particular, the image data analyzer 118 mayperform object recognition, object tracking, face detection, facerecognition, pedestrian detection, optical character recognition, sceneunderstanding, etc. The analysis may be utilized to determine thedestination information (e.g., real-time dynamic destinationinformation). For example, the analysis (e.g., computer vision analysis)may be utilized to determine a time aspect, population aspect, productaspect, service aspect, and/or site feature aspect. For instance, theanalysis may indicate a parking lot occupancy (which may be utilized toestimate parking time, for example), may indicate a number of people inline at a grocery store (which may be utilized to estimate transactiontime), may indicate a number of people, may indicate demographics (e.g.,genders, ages, etc.), may indicate product availability, may indicatesite cleanliness, may indicate site lighting, etc. Examples of computervision analysis are provided in one or more of FIGS. 6-7.

In some configurations, the trip planner 120 may perform trip planningbased on forecasting. For example, the trip planner 120 may forecastexpected destination information based on the real-time dynamicdestination information and/or historical destination information. Forinstance, historical destination information may indicate historicalpatterns of site activity (e.g., high or low traffic times at arestaurant, grocery store, etc.). In one particular example, the tripplanner 120 may determine that for a potential trip, it will require anhour to arrive at a grocery store and that although the real-timedynamic destination information currently indicates low traffic at thegrocery store, the historical destination information indicates thathigh traffic typically occurs in an hour from the current time. Suchforecasting may be taken into account when ranking potentialdestinations and/or potential trips in some configurations.

In some configurations, the trip planner 120 may perform trip planningadditionally based on historical experience information. For example,the electronic device 102 (e.g., user interface 134) may receiveinformation regarding feedback on one or more trips. The historicalinformation may indicate a user satisfaction with the trip(s), feedbackregarding the accuracy of the real-time dynamic destination information,user preferences, etc. Additionally or alternatively, the historicalinformation may include experience information (e.g., ratinginformation, etc.) from one or more network-available resources (e.g.,websites, social media, etc.).

In some cases, trip execution may deviate from the planned trip.Additionally or alternatively, a user may add or remove one or moredestinations during a trip. Additionally or alternatively, the dynamicdestination information (e.g., real-time dynamic destinationinformation) may vary to a degree that may warrant modifying and/orupdating trip planning. For example, a driver (e.g., user) may take adifferent route than the planned route. If the driver deviates from theroute by a threshold degree, the electronic device 102 may update tripplanning and/or may suggest changes to the trip. For example, if theuser has traveled closer to a grocery store with faster checkout, theelectronic device 102 may suggest a trip change that replaces theinitial grocery store destination suggestion with the updated grocerystore. In another example, the electronic device 102 may receive aninput indicating a destination addition or removal. The electronicdevice 102 may update trip planning based on the destination additionalor removal. In another example, calendar information may indicate that ameeting has changed location or has been cancelled. The electronicdevice 102 may update trip planning to account for the location changeand/or cancellation.

As described herein, one or more (e.g., different) evaluation bases maybe utilized in some approaches. One object of some configurations of thesystems and methods disclosed herein may be to help a user improve tripplanning (e.g., optimize a driving route). There may be severalevaluation bases that may be considered, which may be indicated by theuser interface 134 that includes user preferences for a number ofsituations. Some example cases are given as follows.

In one case, the evaluation basis may be to minimize drive time (e.g.,get from point A to point B as quickly as possible). In a second case,the evaluation basis may be to maximize a safe route consideringinclement weather (e.g., get from point A to point B on the safest road,which might be a road that was plowed, but otherwise may take longer totravel). It should be noted that safety and speed may be highlycorrelated (e.g., the safest route may also be the fastest route) insome instances. In a third case, the user may be informed whether one ormore options should be considered if there is an anomaly (e.g., a caraccident or severe weather conditions). In some approaches, the user mayhave entered alternate trip objectives (e.g., preferences in case of ananomaly) of stopping to get coffee, stopping at the gym, or stopping topick up dry cleaning. In a fourth case, a user may query the electronicdevice 102 for the time impact for inserting a task into the commute(e.g., stopping to get coffee). In a fifth case, the evaluation basismay be to maximize fuel efficiency (which may be correlated with thefirst and/or second cases described above). In a sixth case, theevaluation basis may be to maximize rewards (e.g., reduce costs). Thismay become relevant as real-time coupon offers are presented, asride-sharing services become common, and/or as variable pricing for fastlane access becomes more common. A user may desire to reduce costs bytaking on a passenger (within constraints such as “only if it adds 5minutes or less to the commute,” for example), earning credits for usingthe slow lane (e.g., “only if the user receives $5 worth of credits”),or taking advantage of a real-time coupon offer (e.g., “only if coffeeis 1 discounted and/or only adds 5 minutes to the commute”).

Other factors may be utilized for planning. One or more factors that maybe considered in trip planning (e.g., calculation of end-to-end drivetime) may include one or more of the following. Cloud-based and/orpublically-available real-time traffic conditions may be utilized.Beacon-based (e.g., ambient) sensors in retail stores that indicate waittimes may be utilized. Historical information based on an individual'spast experiences with a retail store (e.g., the average amount of timeit takes to park, enter the grocery store, walk to the donut section,retrieve a dozen donuts, walk to cashier, pay, walk to car, and get backon the road, etc.) may be utilized. It should be noted that individualhistorical information may not include group (e.g., aggregate)historical information in some configurations. For example, individualhistorical information may be specific to an individual user, and maynot reflect information about a group or aggregate population.Cloud-based forecasting of wait times in retail stores (or the like)based on one or more factors (e.g., time of year, day, time, location,weather, external events (e.g., a nearby sporting event just ended),and/or impact of modifying real-time incentives (e.g., sending out acoupon that may have the impact of increasing a wait time at thecounter), etc.) may be utilized.

Monetary considerations may be considered in some approaches. Forexample, some configurations of the systems and methods disclosed hereinmay determine (e.g., estimate) the overall monetary impact of a trip(e.g., route decision). The overall monetary impact may be based on oneor more of the following factors. Fuel usage and pricing (also factoringin make/model of vehicle and/or loading, etc.) may be utilized.Potential savings from using a coupon may be utilized. Impact of pickingup other passengers (including added time/distance, added weight impacton fuel, and/or off-setting payment credit (e.g., how much payment thedriver receives), for example) may be utilized. The impact of paying forcar pool lane access or a toll road may be utilized. Comparison withother options such as public transit or being a rider in a ride-sharingservice may be utilized.

Some configurations of the systems and methods disclosed herein mayprovide a feature that provides the user with an alert (in the morningbefore leaving home, for example). For instance, the alert may indicate(e.g., say) one or more of the following (in a simple format, forexample):

-   -   Good morning, your route options today are as follows:    -   Drive yourself (Interstate 5): 45 minutes, $3.50 fuel cost    -   Drive yourself (Interstate 805): 47 minutes, $3.75 fuel cost    -   Drive yourself (Interstate 805 with a stop for 1 passenger) 52        minutes, $1.50 profit    -   Take the bus: 64 minutes, $2.50 cost        Additionally or alternatively, there may be updates during the        course of the trip (e.g., commute) with beneficial options. For        example, if an accident has occurred, the electronic device 102        may recommend that the driver pick up a passenger to use the car        pool lane (that is not blocked) or may recommend taking another        route entirely.

In some configurations, the electronic device 102 (e.g., trip planner120) may determine a selection and/or weighting of one or more types ofinformation. For example, the electronic device 102 (e.g., trip planner120) may determine a weighting and/or a selection of destinationinformation (e.g., real-time dynamic destination information), vehicleinformation, environment information, road information, pathinformation, and/or historical information (e.g., one or more ofhistorical destination information, historical trend information,individual historical experience information, etc.) for trip planning.Additionally or alternatively, the electronic device 102 may determine aweighting and/or a selection of subsets of information. For example, theelectronic device 102 may determine a selection of and/or weighting of atime aspect, a population aspect, a product aspect, a service aspect,and/or a site feature aspect. For instance, a user may desire to find amost popular club within a city, regardless of a product aspect ortravel time. In some approaches, the selection and/or weighting may bedetermined based on user-configurable settings and/or based on userbehavior (e.g., acceptance or non-acceptance of one or more suggestedroutes). The weighting may control a degree of impact that a particulartype of information may have on trip planning. For example, informationtypes with less weight may have a lesser impact on trip planning,whereas information types with higher weight may have a greater impacton trip planning. The weighting may be determined and/or refined basedon training.

In some configurations, the electronic device 102 (e.g., trip planner120, a refiner, etc.) may refine trip planning based on feedback. Forexample, feedback may include an indication of whether a suggested routeis selected (e.g., followed) or not, one or more changes to a suggestedroute, and/or an indication of suggested route quality. For instance,the electronic device 102 may receive feedback from the user interface134 and/or from a remote device. Additionally or alternatively, theelectronic device 102 may detect whether a suggested route is followed(without an explicit indication, for example). For instance, theelectronic device 102 may utilize navigation devices and/or techniques(e.g., inertial navigation, GPS, location detection based on wirelessstations (e.g., Wi-Fi, cellular, etc.) to determine whether the device102 is following a suggested route. Following the suggested route may beinterpreted as an acceptance of a suggested route, whereas not followingthe suggested route may be interpreted as not accepting a suggestedroute and/or as modifying a suggested route. Acceptance of a suggestedroute, a change to a suggested route, and/or non-acceptance of asuggested route may be utilized as feedback. For example, the electronicdevice 102 (e.g., trip planner 120, refiner, etc.) may modify tripplanning (for future trips, for instance) based on the feedback. In someconfigurations, the electronic device 102 (e.g., trip planner 120,refiner, etc.) may change weighting for one or more possibledestinations and/or routes (e.g., trips) based on the feedback. Forexample, the electronic device 102 (e.g., trip planner 120, refiner,etc.) may increase weights for one or more possible destinations and/orroutes that a user follows and/or selects. Additionally oralternatively, the electronic device 102 (e.g., trip planner 120,refiner, etc.) may reduce weights for one or more possible destinationsand/or routes that a user does not follow and/or does not select.

In some configurations, the electronic device 102 (e.g., trip planner120, etc.) may utilize (e.g., consider) one or more factors to influenceweighting. One example of a factor may be an importance (e.g., userperceived importance) of one or more destinations. In some approaches,the electronic device 102 may receive destination ratings (e.g., a usermay manually rate destinations or places) on a scale of 1 to 5 (with 1being unimportant and 5 being very important). For example, a user mightprovide destination ratings, which may be received by the electronicdevice 102 (e.g., destination information obtainer 116, trip planner120, etc.) as follows: Work: 5; School: 5; Gas Station: 4; Coffee Shop:3; Donut Shop: 1.

Additionally or alternatively, the electronic device 102 (e.g., tripplanner 120) may automatically set destination ratings. For example, thetrip planner 120 (e.g., algorithm) may apply predetermined values (e.g.,Work and School are important (with ratings of 5), the Gas Station isfairly important (with a rating of 4), and the Donut Shop is notimportant (with a rating of 1), etc.). In an additional or alternativeapproach, the electronic device 102 (e.g., trip planner 120, refiner,etc.) may automatically learn from the user's behavior. For example, ifthe user is willing to accept significant negative consequences (e.g.,the user demonstrates pattern of paying more for fuel to avoid traffic)to arrive at a destination, then the destination may be rated as veryimportant. Or, if a user demonstrates a pattern of always stopping forcoffee on the way to work, the Coffee Shop may be rated as veryimportant (with a rating of 4 or 5, for instance). In another example,if a modest consequence occurs (e.g., slightly more traffic) and theuser avoids a certain destination (e.g., the Coffee Shop), then thedestination (e.g., the Coffee Shop) may be rated lower (with a rating of2 or 3, for instance), because avoiding the destination may indicatethat it is not so important to that user. Accordingly, accepting orrejecting (e.g., avoiding) a route may provide an indication ofuser-perceived importance, which may be utilized by the trip planner 120in planning routes. Greater weightings may be applied for higher rateddestinations and/or lower weightings may be applied for lower rateddestinations.

As discussed above, route acceptance and/or route rejection (e.g.,avoidance) may impact training. For example, if a user accepts analternative route and the benefits are fairly consistent (e.g., theroute is typically faster), then the route may be weighted higher. Ifthe user does not accept an alternative route (with consistent benefits,for instance), perhaps there is a reason that is unaccounted for by theelectronic device 102 (e.g., trip planner 120, trainer, refiner, etc.).In some approaches, the electronic device 102 (e.g., trip planner 120,trainer, refiner, etc., through the user interface 134) may output aquery (with audio, imagery, and/or text, for example). For instance, theelectronic device 102 may query a user with text and/or audio that says“I see you did not take the suggested shorter route. Would you like toconsider it in the future? If not, why?” The electronic device 102 mayreceive user input (e.g., speech input, text input, touchscreen input,etc.) that may be utilized for training (the trip planner 120, refiner,etc.). For example, the electronic device 102 may receive text and/oraudio indicating that “I prefer the slightly slower, but significantlymore scenic route.” It should be noted that the electronic device 102(e.g., trip planner 120, refiner, etc.) may know aspects (e.g., prosand/or cons) of different routes and may learn from the user's choice.In some approaches, different aspects (e.g., scenery, time efficiency,cost, etc.) of one or more routes may be rated (on a scale of 1-100, forinstance). For example, route A may have a scenery rating of 90, a timeefficiency rating of 80, and a cost (e.g., monetary cost, tolls, etc.)rating of 20. Route B may have a scenery rating of 40, a time efficiencyrating of 90, and a cost rating of 80. If the user selects route A, thenthe electronic device 102 (e.g., trip planner 120, refiner, etc.) maydetermine that the user values scenery over efficiency, etc.Accordingly, the electronic device 102 (e.g., trip planner 120, refiner,etc.) may more heavily weight destinations and/or routes with higherscenery ratings.

In some configurations, trip planning may be performed by calculating anevaluation score based on a set of evaluation bases and associatedweights. For example, the evaluation score may be calculated bymultiplying each evaluation basis with an associated weight and summingthe resulting products. Each evaluation basis may be represented by anumber scale with higher numbers representing better scores (e.g., lessdrive time, greater safety, greater fuel efficiency or less consumption,etc.) and lower numbers representing worse scores.

Trip planning may additionally or alternatively include calculating anobjective score. For example, the objective score may be calculated bymultiplying each trip objective with an associated weight and summingthe resulting products. Each objective may be represented by a numberscale with higher numbers representing better individual scores (e.g.,whether the objective is indicated for a trip, etc.) and lower numbersrepresenting worse individual scores.

Trip planning may additionally or alternatively include calculating anintelligence score. For example, the intelligence score may becalculated by multiplying each intelligence item (e.g., vehicleinformation, environment information, road information, and/ordestination information) with an associated weight and summing theresulting products. Each intelligence item may be represented by anumber scale with higher numbers representing better individual scores(e.g., good route weather, good roads, favorable destinationinformation, etc.) and lower numbers representing worse individualscores.

In some approaches, an overall trip planning score may be calculated asa sum of two or more of the evaluation score, objective score, and/orintelligence score. The route and/or destination with a highest overalltrip planning score may be suggested. Additionally or alternatively, aset of destinations with the highest overall trip planning scores may besuggested. The set destinations with highest overall trip planningscores may be ranked and/or prioritized. It should be noted that one ormore of the evaluation bases, trip objectives, and/or intelligence itemsmay correspond to each destination. For instance, each drive timeevaluation basis may be based on the actual estimated drive time foreach destination.

In some configurations, the electronic device 102 (e.g., processor 112,intelligence obtainer 124, trip planner 120, image data analyzer 118,etc.) may obtain user model data. For example, the electronic device 102(e.g., image data analyzer 118) may perform computer vision analysis onone or more images of one or more users (e.g., a vehicle driver and anypassenger(s)). The computer vision analysis may provide one or morekinds of user model data such as user age, user gender, etc.Additionally or alternatively, the electronic device 102 may determine auser location (e.g., home location, home neighborhood, home city, etc.)and/or a time. The user model data may be utilized to perform trainingfor trip planning and/or refining. For example, if the user model dataindicates a probability of a preference for one or more destinationsand/or routes, weighting for trip planning may be adjusted to take theuser model data into account. The trip planning may be additionally oralternatively based on the user model data. For example, the weightingproduced (e.g., adjusted) based on the user model data may be utilizedin trip planning More details are provided in connection with FIG. 9.

It should be noted that user model data may differ between users.Accordingly, the electronic device 102 (e.g., image data analyzer 118)may recognize (e.g., identify) each user and utilize the correspondinguser model data for that user. For example, if two different driversshare a car, the electronic device 102 may identify the users and handleeach differently.

In some configurations, the electronic device 102 (e.g., trip planner120, trainer, refiner, etc.) may perform training. For example, theelectronic device 102 may determine and/or refine one or more weightsfor trip planning based on training. In some approaches, the electronicdevice 102 may determine and/or refine the weight(s) based on one ormore received inputs and/or data collection (e.g., requesteddestinations, accepted routes, rejected routes, trip objectives,evaluation bases, intelligence items (e.g., real-time dynamicdestination information), user model data, etc.). Performing trainingmay improve trip planning in accordance with user preference and/ortrips taken over time. In some configurations, the electronic device 102(e.g., memory 126) may store prior training information (e.g., a priortraining database). The prior training information (e.g., weights) maybe accessed by the trip planner 120 in order to perform trip planning.The prior training information may be refined (e.g., updated) based onone or more received inputs and/or data collection.

It should be noted that one or more of the elements or components of theelectronic device 102 may be combined and/or divided. For example, oneor more of the trip objective information obtainer 122, the intelligenceobtainer 124, the destination information obtainer 116, the trip planner120, the image obtainer 114, and/or the image data analyzer 118 may becombined. Additionally or alternatively, one or more of the tripobjective information obtainer 122, the intelligence obtainer 124, thedestination information obtainer 116, the trip planner 120, the imageobtainer 114, and/or the image data analyzer 118 may be divided intoelements or components that perform a subset of the operations thereof.

FIG. 2 is a flow diagram illustrating one configuration of a method 200for trip planning. The method 200 may be performed by the electronicdevice 102, for example.

The electronic device 102 may obtain 202 trip objective information.This may be accomplished as described above in connection with FIG. 1.For example, the electronic device 102 may obtain trip objectiveinformation from a user interface and/or from a remote device. Forinstance, the electronic device 102 may obtain one or more tripobjectives. Additionally or alternatively, the electronic device 102 mayobtain one or more evaluation bases. More detail is provided inconnection with one or more of FIGS. 3-5.

The electronic device 102 may obtain 204 dynamic destination information(e.g., real-time dynamic destination information) corresponding to atleast one site. This may be accomplished as described above inconnection with FIG. 1. For example, the electronic device 102 mayperform computer vision analysis on one or more images to determine thereal-time dynamic destination information and/or may receive real-timedynamic destination information from one or more remote devices. Moredetail is provided in connection with one or more of FIGS. 3-7.

The electronic device 102 may perform 206 trip planning based on thereal-time dynamic destination information. This may be accomplished asdescribed in connection with FIG. 1. For example, the electronic device102 may determine one or more potential destinations and/or may evaluatethe one or more potential destinations (e.g., potential trips) based onone or more evaluation bases. More detail is provided in connection withone or more of FIGS. 3-5. In some configurations, the electronic device102 may provide one or more suggested routes based on the trip planning.

FIG. 3 is a flow diagram illustrating another configuration of a method300 for trip planning. The method 300 may be performed by the electronicdevice 102, for example.

The electronic device 102 may determine and set 302 a trip type. Thismay be accomplished as described above in connection with FIG. 1. Forexample, the electronic device 102 may obtain trip objectiveinformation. The trip objective information may indicate a trip type(e.g., grocery shopping trip, commute to work, dining out, take outpickup, etc.). For example, the trip objective information may indicateone or more desired objectives (e.g., buy certain products, pick upbreakfast on the way to work, see a particular movie, socialize, etc.).

The electronic device 102 may evaluate 304 potential destinations. Thismay be accomplished as described above in connection with FIG. 1. Forexample, the electronic device 102 may determine a set of potentialdestinations (e.g., potential trips) based on the trip objectiveinformation (e.g., trip type). In particular, the trip objectiveinformation may imply one or more potential destinations to accomplishone or more trip objectives. For example, certain products may bepurchased at one or more certain destinations, breakfast may be providedat one or more destinations, work may indicate a final destination, amovie may be played at certain destinations, etc. In someconfigurations, the electronic device 102 may search a database ofdestinations to match the trip objective(s) with one or moredestinations. Additionally or alternatively, the electronic device 102may query one or more network sources (e.g., Internet websites, searchengines, remote server(s), etc.) for one or more destinations that maysatisfy the trip objective(s). The search and/or query may result in oneor more destinations that may satisfy the trip objective(s).

The electronic device 102 may receive 306 destination informationcorresponding to one or more sites. This may be accomplished asdescribed in connection with FIG. 1. For example, the electronic device102 may determine, request, and/or receive real-time dynamic destinationinformation. In some configurations, the electronic device 102 maygather intelligence corresponding to one or more potential destinations.For example, the electronic device 102 may request and/or receive sensordata (e.g., image data, microphone data, beacon data, etc.)corresponding to one or more sites. The electronic device 102 may obtainreal-time dynamic destination information based on the sensor data. Forinstance, the electronic device 102 may perform computer vision analysison the image data to determine real-time dynamic destinationinformation. In some configurations, the electronic device 102 maygather other intelligence. For example, the electronic device 102 mayobtain vehicle information, environment information, and/or roadinformation.

The electronic device 102 may provide 308 a suggested (e.g.,recommended) route. This may be accomplished as described in connectionwith FIG. 1. For example, the electronic device 102 may evaluate (e.g.,rank) one or more potential destinations and/or trips. Evaluating theone or more potential destinations may be based on the real-time dynamicdestination information and/or other intelligence. For example, theelectronic device 102 may evaluate how potential destinations and/orcombinations of destinations satisfy one or more trip objectives inaccordance with one or more evaluation bases. In some configurations,the electronic device 102 may provide 308 a recommended route that bestsatisfies the evaluation bases. Additionally or alternatively, theelectronic device 102 may provide a ranked set of recommended routes.

The electronic device 102 may determine 310 whether there is anotherdestination. For example, the electronic device 102 may determinewhether another destination is to be added to a trip (e.g., if there aremultiple trip destinations and/or if an additional destination isrequested from a user, etc.). If there are one or more additionaldestinations, the electronic device 102 may repeat one or more steps302, 304, 306, 308 to factor the additional destination(s) into thetrip. If there are no additional destinations, operation may end 312.

FIG. 4 is a flow diagram illustrating a more specific configuration of amethod 400 for trip planning. The method 400 may be performed by theelectronic device 102, for example.

The electronic device 102 may obtain 402 one or more trip objectives.This may be accomplished as described above in connection with one ormore of FIGS. 1-3. For example, the electronic device 102 may obtain oneor more trip objectives from a user interface and/or from a remotedevice.

The electronic device 102 may obtain 404 one or more evaluation bases.This may be accomplished as described above in connection with one ormore of FIGS. 1-3. For example, the electronic device 102 may obtain oneor more evaluation bases from a user interface and/or from a remotedevice.

In some configurations, the electronic device 102 may identify 406 anassociation (e.g., one or more associations) between at least one siteand the one or more trip objectives. This may be accomplished asdescribed in connection with FIG. 1. For example, the electronic device102 may determine one or more potential destinations to fulfill the tripobjective(s). For instance, the one or more trip objectives may implyone or more destination types (e.g., one or more potential destinations)for fulfilling the trip objective(s). In some approaches, the electronicdevice 102 may search for one or more potential destinations or siteswith objective information (e.g., services offered, products offered,activities offered, etc.) that matches the trip objective(s).

The electronic device 102 may perform 408 intelligence gathering.Performing 408 intelligence gathering may include obtaining sensor datafrom at least one site. For example, the electronic device 102 mayperform 408 intelligence gathering from one or more of the potentialdestinations. Accordingly, the intelligence gathering (e.g., obtainingreal-time dynamic destination information) may vary and/or may be basedon a user request. The sensor data may include image data (from one ormore image sensors, cameras, etc.). This may be accomplished asdescribed above in connection with one or more of FIGS. 1-3. Forexample, the electronic device 102 may request and/or receive image datafrom one or more fixed and/or mobile on-site sensors (e.g., imagesensors, cameras, etc.). In some approaches, performing 408 intelligencegathering may be based on the identified association(s). For example,the electronic device 102 may gather intelligence (e.g., real-timedynamic destination information) for one or more sites with anassociation with the trip objective(s). For instance, the electronicdevice 102 may gather intelligence only from one or more sites with anassociation with the trip objective(s) and/or may exclude other siteswithout an association.

The electronic device 102 may perform 410 analysis (e.g., computervision analysis, scene analysis, classification analysis, etc.) on theimage data to determine dynamic destination information (e.g., real-timedynamic destination information) corresponding to one or more sites.This may be accomplished as described in connection with one or more ofFIGS. 1-3. For example, the electronic device 102 may perform one ormore of face detection, face recognition, pedestrian detection, objectdetection, object recognition, object tracking, scene understanding,optical character recognition, gender detection, emotion detection,motion analysis, and/or clothing analysis on the image data. Forinstance, the analysis may indicate a number of people (e.g., patrons,cashiers, pedestrians, shoppers, a number of people in line, etc.), aninventory (e.g., one or more products, stock amounts, etc.), a number ofvehicles, an arrangement of vehicles (e.g., parking space availability),gender of one or more people, emotional state of one or more people,sobriety of one or more people, a presence or absence of one or moreamenities, etc. The analysis may be utilized to determine dynamicdestination information. For example, the analysis of the on-site imagedata may directly indicate real-time dynamic destination information(e.g., number of people, number of men or women, etc.). Additionally oralternatively, the electronic device 102 may perform additionalprocessing on the analysis results to determine the dynamic destinationinformation (e.g., real-time dynamic destination information). Forexample, the electronic device 102 may estimate a cashier line wait timebased on the number of people in the line and/or the number of productsin line for checkout indicated by the analysis.

The electronic device 102 may perform 412 trip planning based on thereal-time dynamic destination information, the one or more tripobjectives, and/or the one or more evaluation bases. This may beaccomplished as described in connection with one or more of FIGS. 1-3.For example, the electronic device 102 may evaluate the one or morepotential destinations (e.g., potential trips) based on one or moreevaluation bases. For instance, the electronic device 102 may determinewhich potential destination (or combination of potential destinations)may achieve the trip objective(s) with the least amount of time and/ormoney. Additionally or alternatively, the electronic device 102 maydetermine which potential destination (or combination of potentialdestinations) has the fewest people and best lighting.

The electronic device 102 may provide 414 one or more suggested routesbased on the trip planning. This may be accomplished as described inconnection with one or more of FIGS. 1-3. For example, the electronicdevice 102 may present one or more suggested routes on a display.Additionally or alternatively, the electronic device 102 may send (e.g.,transmit) the one or more suggested routes to another device (e.g., aremote device).

FIG. 5 is a block diagram illustrating an example of trip planning. Theelectronic device 102 described in connection with FIG. 1 may operate inaccordance with the block diagram of FIG. 5 in some configurations. Inthis example, some potential evaluation bases 536 may include drive time546, route safety 548, task accomplishment 550, fuel efficiency 552, andreward maximization 554. Some potential trip objectives 538 may includea coffee run 556, daily commute 558, vacation 560, groceries 562, andkids' carpool 564. One or more of the evaluation bases 536 and tripobjectives 538 may be provided to a trip planner 520 (e.g., routeanalyzer). The trip planner 520 may be one example of the trip planner120 described in connection with FIG. 1.

Examples of intelligence 540 are also illustrated in FIG. 5. Theintelligence 540 may be obtained by an intelligence obtainer (e.g., theintelligence obtainer 124 described in connection with FIG. 1). Forexample, an intelligence obtainer may obtain (e.g., gather) intelligence540. Some examples of intelligence 540 may include vehicle information566, environment information 568, road information 570, and destinationinformation 572.

In some configurations, examples of vehicle information 566 may includefuel remaining, engine temperature, engine status, tire information,and/or cargo weight, etc. Examples of the environment information 568may include visibility (e.g., fog) and/or weather conditions, etc.Examples of the road information 570 may include traffic, road condition(e.g., potholes, loose gravel, etc.), construction (e.g., closed lanes),obstructions, and/or carpool lane availability, etc. Road informationmay be an example of path information. Destination information 572(e.g., real-time dynamic destination information) may be obtained asdescribed in connection with one or more of FIGS. 1-4. The destinationinformation may vary based on the destination. Some examples ofdestination information are provided in connection with FIGS. 6 and 7.The vehicle information 566, environment information 568, roadinformation 570, and/or destination information 572 may be provided tothe trip planner 520.

The trip planner 520 may perform trip planning (e.g., route analysis)based on the evaluation bases 536, the trip objectives 538, and theintelligence 540. As described in connection with FIG. 1, trip planningmay produce one or more suggested routes 544. The suggested route(s) 544may be presented on a display and/or transmitted to another device(e.g., a remote device).

In some configurations, trip planning may be performing in accordancewith the following. For example, the trip planner 520 (e.g., algorithm)may perform trip planning in accordance with Equation (1).(W _(DriveTime) ×E _(DriveTime))+(W _(Safety) ×E _(Safety))+(W _(Task)×E _(Task))+(W _(Fuel) ×E _(Fuel))+(W _(Reward) ×E _(Reward))=E_(Score)  (1)In Equation (1), E_(DriveTime) may represent the drive time 546evaluation basis and W_(DriveTime) may represent a corresponding weight.Additionally, E_(safety) may represent the route safety 548 evaluationbasis and W_(Safety) may represent a corresponding E_(Task) mayrepresent the task accomplishment 550 evaluation basis and W_(Task) mayrepresent a corresponding weight, E_(Fuel) may represent the fuelefficiency 552 evaluation basis and W_(Fuel) may represent acorresponding weight, and E_(Reward) may represent the rewardmaximization 554 evaluation basis and W_(Reward) may represent acorresponding weight. E_(score) may represent the final evaluationscore.

For example, each of the evaluation bases 536 may be assigned acorresponding weight, W. Each weight may be a number within a range(e.g., between 0.0 and 1.0, such as 0.5). Each weight may indicate theimportance of the corresponding evaluation basis. Each E denotes anevaluation basis (e.g., term). Each evaluation basis may be a numberwhere a higher number indicates a better score and a lower numberindicates a worse score. For example, an E_(DriveTime) of 1 minute mayhave a higher value than an E_(DriveTime) of 1 hour. Accordingly, each Emay be on some number scale (e.g., 0 to 1.0, 0 to 10, 0 to 100, etc.).For example, shorter drive times may map to higher E_(DriveTime) valuesand longer drive times may map to lower E_(DriveTime) values.Accordingly, a weight indicating high importance multiplied by anevaluation basis with a high score (e.g., an important evaluation basis)may yield a relatively high number or value. Conversely, a weightindicating low importance multiplied by an evaluation basis with a lowscore (e.g., an unimportant evaluation basis) may yield a relatively lownumber or value. Adding each of the products may yield a weighted sum.For example, the evaluation score E_(Score) may be a weighted sum. Theevaluation bases 536 (e.g., E_(Score)) may contribute to an overallscore in some approaches.

Additionally or alternatively, the trip planner 520 (e.g., algorithm)may perform trip planning in accordance with Equation (2).(W _(Coffee) ×T _(Coffee))+(W _(Commute) ×T _(Commute))+(W _(Vacation)×T _(Vacation))+(W _(Groceries) ×T _(Groceries))+(W _(Carpool) ×T_(Carpool))=T _(Score)  (2)In Equation (2), T_(Coffee) may represent the coffee run 556 tripobjective and W_(Coffee) may represent a corresponding weight.Additionally, T_(Commute) may represent the daily commute 558 tripobjective and W_(Commute) may represent a corresponding weight,T_(Vacation) may represent the vacation 560 trip objective andW_(Vacation) may represent a corresponding weight, T_(Groceries) mayrepresent the groceries 562 trip objective and W_(Groceries) mayrepresent a corresponding weight, and T_(Carpool) may represent thekids' carpool 564 trip objective and W may represent a correspondingweight. T_(Score) may represent the final objective score (e.g., aweighted sum). The trip objectives 538 (e.g., T_(Score)) may contributeto an overall score in some approaches.

Additionally or alternatively, the trip planner 520 (e.g., algorithm)may perform trip planning in accordance with Equation (3).(W _(Vehicle) ×I _(Vehicle))+(W _(Environment) ×I _(Environment))+(W_(Road) ×I _(Road))+(W _(Destination) ×I _(Destination))=I _(Score)  (3)In Equation (3), I_(vehicle) may represent the vehicle information 566and W_(Vehicle) may represent a corresponding weight. Additionally,I_(Environment) may represent the environment information 568 andW_(Environment) may represent a corresponding weight, I_(Road) mayrepresent the road information 570 and W_(Road) may represent acorresponding weight, and I_(Destination) may represent the destinationinformation 572 and W_(Destination) may represent a correspondingweight. It should be noted that multiple types of information (e.g.,multiple destination information 572 factors) may be included in theequation in some approaches. For example, multiple destinationinformation factors may include checkout wait time, female/male ratio,cleanliness, etc. I_(score) may represent the final intelligence score(e.g., a weighted sum). The intelligence 540 (e.g., I_(Score)) maycontribute to an overall score in some approaches.

In some approaches, two or more factors (e.g., weighted sums) may beadded to produce an overall score. For example, the evaluation score,objective score, and intelligence score may be added as illustrated inEquation (4).E _(Score) +T _(Score) +I _(Score)=Overall_(Score)  (4)Adding the two or more factors may produce the overall score (e.g.,Overall_(Score), trip planning score, etc.).

Scoring destinations may involve utilizing weighting (W) values for oneor more evaluation bases, one or more trip objectives, and/or one ormore intelligence items. The weighting values may be predetermined,manually set, and/or determined through training. The one or moreevaluation bases values and/or the one or more trip objective values maybe predetermined, manually set, and/or determined through informationcollection. The one or move evaluation bases values, the one or moretrip objective values, and/or the one or more intelligence item valuesmay be normalized to fit one or more ranges. For example, a best fuelefficiency may be set to 40 miles per gallon (mpg) while a worst fuelefficiency may be set to be 10 mpg. The range of 10-40 mpg may benormalized to a range of 0-10 (e.g., E_(Fuel)). In another example, thedrive time 546 (e.g., E_(DriveTime)) may be an arbitrary range or maydepend on one or more selected destinations. For example, a best drivetime to work may be the time of the fastest route assuming no trafficand a worst drive time to work may be an expected time for heavy trafficand/or a set amount above the fastest route time (e.g., +1 hour). Thisrange of time (e.g., E_(DriveTime)) may be normalized to a range of0-10.

In some configurations, the suggested route(s) 544 may be provided to arefiner 542. The refiner 542 may receive feedback in some approaches.For example, the feedback may indicate whether a suggested route 544 isaccepted, followed, not accepted, not followed, etc. The refiner 542 mayutilize the feedback corresponding to the suggested route(s) 544 torefine trip planning. For example, the refiner 542 may increase weightsfor one or more possible destinations and/or routes that a user followsand/or selects. Additionally or alternatively, the refiner 542 mayreduce weights for one or more possible destinations and/or routes thata user does not follow and/or does not select. An example of a methodfor feedback and refinement is given in connection with FIG. 8.

FIG. 6 is a block diagram illustrating an example of intelligencegathering for a grocery store trip. In particular, FIG. 6 illustrates anexample of an intelligence obtainer 624 and an image data analyzer 618.The intelligence obtainer 624 and/or the image data analyzer 618 may beexamples of corresponding elements or components described in connectionwith FIG. 1. The electronic device 102 described in connection with FIG.1 may operate in accordance with the block diagram of FIG. 6 in someconfigurations. In this example, several types of information (e.g.,real-time dynamic destination information in some cases) may be obtainedwith data from one or more sources. For example, an intelligenceobtainer 624 may obtain (e.g., request and/or receive) beacon data 674,traffic data 676, global positioning system (GPS) data 678, social mediadata 680, heat sensor data 682, microphone data 684, and/or digitalcalendar data 686. In some configurations, the intelligence obtainer 624may additionally or alternatively request and/or receive image data 629.Additionally or alternatively, the image data 629 may be provided to animage data analyzer 618. The image data 629 may originate from one ormore on-site image sensors (e.g., cameras).

The image data analyzer 618 may perform one or more kinds of processing(e.g., computer vision analysis, scene analysis, classificationanalysis, etc.) on the image data 629. For example, the image dataanalyzer 618 may include a face detector 607, a face recognizer 609, apedestrian detector 611, an object detector 649, an object recognizer613, an object tracker 615, a scene understanding processor 617, anoptical character recognizer 619, a gender detector 621, an emotiondetector 623, a motion analyzer 625, and/or a clothing analyzer 627. Forinstance, the image data analyzer 618 may perform one or more of facedetection, face recognition, pedestrian detection, object detection,object recognition, object tracking, scene understanding, opticalcharacter recognition, gender detection, emotion detection, motionanalysis, and/or clothing analysis. The image data analyzer 618 mayproduce analysis data 605 (e.g., computer vision data), which may beprovided to the intelligence obtainer 624.

The intelligence obtainer 624 may utilize the analysis data 605 alone orin combination with one or more other kinds of data (e.g., beacon data674, traffic data 676, global positioning system (GPS) data 678, socialmedia data 680, heat sensor data 682, microphone data 684, and/ordigital calendar data 686) to produce one or more kinds of information(e.g., real-time dynamic destination information in some cases).Examples of the one or more kinds of information may include parkingspace availability 694, number of cashiers 688, number of people percashier line 692, inventory information 690, coupons and sales 696, userstore preference 698, kiosk movie rental availability 601, and/or happysingle men or women 603, etc. The information (e.g., real-time dynamicdestination information in some cases) may be utilized by the electronicdevice 102 in trip planning as described herein.

Some examples of computer vision analysis are given as follows. In oneexample, a camera may be mounted near a checkout line at a grocerystore. The camera may supply the image data 629 to the image dataanalyzer 618 (via a communication interface, for example). The clothinganalyzer 627 may analyze the clothing of the people in the checkout areato determine whether any of the clothing is a grocery store uniform. Theface detector 607 may detect a number of faces in the checkout area. Theintelligence obtainer 624 may utilize the number of faces in thecheckout as a total number of people in a checkout area. Theintelligence obtainer 624 may utilize the number of uniforms detected asa number of cashiers 688. The number of cashiers 688 may be subtractedfrom the total number of people (e.g., faces) detected to determine anumber of people in line. The number of people in line may be divided bythe number of cashiers to determine the number of people per cashierline 692 (on average, for example). In some approaches, the intelligenceobtainer 624 may assume an amount of time per person in the checkoutline to determine an amount of checkout time. In some approaches, theobject detector 649 may detect a number of items in each person's cartin line to estimate an amount of checkout time.

In another example, the gender detector 621 may utilize face shapeand/or body shape to determine gender of each of the people. The objectdetector 649 and/or the object recognizer 613 may determine which peopleare wearing wedding rings to determine a number of single men and/or anumber of single women. The emotion detector 623 may determine which ofthe people without wedding rings have pleasant facial expressions. Theintelligence obtainer may utilize this information to determine thehappy single men or women 603. For example, those people detected aswomen without wedding rings with pleasant facial expressions may bedetermined as a number of happy single women 603. People detected as menwithout wedding rings with pleasant facial expressions may be determinedas a number of happy single men 603. It should be noted that peopledetected as children (based on body size and/or facial indicia of age,etc.) may be excluded from the calculation.

FIG. 7 is a block diagram illustrating an example of intelligencegathering for a bar or restaurant trip. In particular, FIG. 7illustrates an example of an intelligence obtainer 724 and an image dataanalyzer 718 (e.g., computer vision analyzer). The intelligence obtainer724 and/or the image data analyzer 718 may be examples of correspondingelements or components described in connection with FIG. 1. Theelectronic device 102 described in connection with FIG. 1 may operate inaccordance with the block diagram of FIG. 7 in some configurations. Inthis example, several types of information (e.g., real-time dynamicdestination information in some cases) may be obtained with data fromone or more sources. For example, an intelligence obtainer 724 mayobtain (e.g., request and/or receive) beacon data 774, traffic data 776,global positioning system (GPS) data 778, social media data 780, heatsensor data 782, microphone data 784, and/or digital calendar data 786.In some configurations, the intelligence obtainer 724 may additionallyor alternatively request and/or receive image data 729. Additionally oralternatively, the image data 729 may be provided to an image dataanalyzer 718. The image data 729 may originate from one or more on-siteimage sensors (e.g., cameras).

The image data analyzer 718 may perform one or more kinds of processingon the image data 729. For example, the image data analyzer 718 mayinclude a face detector 707, a face recognizer 709, a pedestriandetector 711, an object detector 749, an object recognizer 713, anobject tracker 715, a scene understanding processor 717, an opticalcharacter recognizer 719, a gender detector 721, an emotion detector723, a motion analyzer 725, and/or a clothing analyzer 727. Forinstance, the image data analyzer 718 may perform one or more of facedetection, face recognition, pedestrian detection, object detection,object recognition, object tracking, scene understanding, opticalcharacter recognition, gender detection, emotion detection, motionanalysis, and/or clothing analysis. The image data analyzer 718 mayproduce analysis data 705 (e.g., computer vision data), which may beprovided to the intelligence obtainer 724.

The intelligence obtainer 724 may utilize the analysis data 705 alone orin combination with one or more other kinds of data (e.g., beacon data774, traffic data 776, global positioning system (GPS) data 778, socialmedia data 780, heat sensor data 782, microphone data 784, and/ordigital calendar data 786) to produce one or more kinds of information(e.g., real-time dynamic destination information in some cases).Examples of the one or more kinds of information may include parkingspace availability 794, live music band 731, sports on television (TV)733, brewery 735, coupons and sales 796, men to women ratio 737, outdoorseating 739, waiting list time and length 741, formal attire requirement743, popularity 745, drunk to sober ratio 747, etc. The information(e.g., real-time dynamic destination information in some cases) may beutilized by the electronic device 102 in trip planning as describedherein.

FIG. 8 is a flow diagram illustrating an example of a method 800 forfeedback and refinement in accordance with some configurations of thesystems and methods disclosed herein. The method 800 described inconnection with FIG. 8 may be performed by the electronic device 102described in connection with FIG. 1 and/or by the refiner 542 describedin connection with FIG. 5 in some configurations. In some cases, tripplanning (e.g., a route analysis algorithm) may not have produced asuggestion that a user likes or accepts. Feedback may allow for trainingof the trip planning (e.g., route analysis algorithm). One or morealternate routes (and corresponding benefits and/or reasons chosen bythe algorithm, for example) may be presented to the user. The user maychoose the desired route. This may allow the electronic device 102(e.g., trip planning) to learn true trip objectives/goals, whether theuser's tastes change over time, and/or whether there are exceptions tospecific routes for learning, etc.

The electronic device 102 may perform 802 trip planning based ontraining. In cases where prior training has been performed, for example,the prior training may be utilized to perform 802 trip planning (e.g.,route analysis) to produce one or more suggested routes (e.g.,recommended trips). For example, prior training may indicate weightingsof types of information (e.g., real-time dynamic destinationinformation), of one or more particular destinations, and/or of one ormore particular routes (e.g., trips).

The electronic device 102 may provide 804 one or more suggested routes.This may be accomplished as described in connection with one or more ofFIGS. 1-4. For example, the electronic device 102 may present one ormore suggested routes on a display (e.g., user interface) and/or maysend the one or more suggested routes to a remote device.

The electronic device 102 may determine 806 whether a route is accepted(e.g., whether a user has accepted the suggested route or trip). Thismay be accomplished as described in connection with FIG. 1. For example,the electronic device 102 may receive a user input indicating acceptanceand/or selection of a particular trip. Additionally or alternatively,the electronic device 102 may track a user travel route to determinewhether the user follows the suggested trip and/or whether aself-driving vehicle operates in accordance with the suggested trip. Ifthe user accepts the route (e.g., trip), operation may end 808 in someconfigurations. In some approaches, the electronic device 102 mayutilize the acceptance of the suggested route as feedback to perform 812trip planning training. For example, the electronic device 102 mayincrease weight(s) for one or more destinations of the accepted route.Additionally or alternatively, the electronic device 102 may reduceweight(s) for one or more destinations of a non-accepted route.Accordingly, more weight may be added for a destination that is acceptedand/or weight may be reduced for a destination that is rejected. Thismay provide a kind of probability filter that ties in with the user'shabits and/or the ability (of the electronic device 102, for example) topredict and/or guess habits.

If the user does not accept the suggest route (e.g., trip), theelectronic device 102 may provide 810 one or more alternate routes. Thismay be accomplished as described in connection with FIG. 1. For example,the electronic device 102 may present one or more alternate routes(e.g., trips) that satisfy the trip objective(s) (e.g., that achievetrip goal(s)). In some configurations, the electronic device 102 mayadditionally present benefits of the one or more alternate routes (e.g.,money cost, time, potential profit, etc.). In some approaches, theelectronic device 102 may obtain non-service information for one or morenon-service sites and/or perform trip planning based on comparing thenon-service information with dynamic destination information (e.g.,in-service information for one or more in-service sites).

The electronic device 102 may perform 812 trip planning training basedon whether an alternate route is accepted. For example, the electronicdevice 102 may receive an input (from a user), indicating selection (orrejection, for example) of one of the alternate trips. Additionally oralternatively, the electronic device 102 may detect whether thealternate route is accepted. For example, the electronic device 102 maytrack whether the user is following a suggested alternate route. Basedon whether an alternate route is accepted, the electronic device 102 mayperform 812 trip planning training (e.g., route analysis training). Forexample, the electronic device 102 may perform machine learning to takethe accepted route (e.g., accepted alternate route) into account. In acase that no route is accepted, the electronic device 102 may performmachine learning to account for the non-accepted route(s). Accordingly,user-preferred routes (e.g., destinations and/or trips) in associationwith contextual information (which may include real-time dynamicdestination information) may be weighted more heavily for subsequenttrip planning.

FIG. 9 is a block diagram illustrating one example of a trainer 977 thatmay be implemented in accordance with some configurations of the systemsand methods disclosed herein. In some configurations, the trainer 977may be implemented in the electronic device 102 described in connectionwith FIG. 1. For example, the trainer 977 may be implemented in theprocessor 112 (e.g., in the trip planner 120, in a refiner, in aseparate module, etc.).

One potential issue with predicting (e.g., guessing) and learning what auser prefers is that incorrect predictions (e.g., guesses) may occur.While this can be used for training (e.g., training trip planning),enough incorrect guesses may frustrate the user. For example, a user mayeventually stop using trip planning. Accordingly, it may be beneficialfor the trip planning to be “smart enough” to make high qualitypredictions and/or estimates. In order to ensure high quality predictionand/or estimation, it may be beneficial to utilize high quality initialtraining data. This may help to avoid a negative training experience forthe user.

In some configurations of the systems and methods disclosed herein, theelectronic device 102 may obtain user model data. For example, theelectronic device 102 may obtain user model data based on computervision and/or location (e.g., GPS) data. For instance, the electronicdevice 102 (e.g., intelligence obtainer 124, trip planner 120, imageobtainer 114, and/or image data analyzer 118) may estimate drivergender, estimate driver age, estimate passenger information, estimatedriver location (e.g., user's home, neighborhood, city, state, etc.),and/or obtain demographic pattern data (per user type, for example).

Some configurations of the systems and methods disclosed herein mayutilize computer vision to analyze one or more destinations and/or oneor more users (e.g., driver and/or passenger(s), etc.). For example, theelectronic device 102 may perform a user (e.g., age, gender, etc.)modeling analysis with location data (e.g., GPS location) to improveutilization of the (possibly vast) prior training database to make moreeducated guesses. Time (e.g., time of day) may be utilized as well insome approaches. For example, particular demographic groups may tend togo to movie theaters and clubs on weekends, while others may tend to goto home improvement stores (or electronics shops, clothing stores,malls, etc.). Additionally or alternatively, users from particular areas(e.g., towns, cities, neighborhoods, etc.) may tend to frequent similardestinations. Accordingly, for example, the computer vision analysis mayhelp to model (e.g., characterize) a user (e.g., a soccer mom, ado-it-yourself (DIY) weekend handyman, a professional, a lawyer, a fastfood junkie, a high schooler, a carpooler, etc.) in order to improvetraining. User model data may be utilized to perform intelligentindexing into the prior training database.

Estimating driver gender, driver age, passenger information, and/ordemographic pattern data, etc. may be based on image data and/orcomputer vision in some approaches. For example, the image obtainer 114may obtain one or more images of one or more users (e.g., driver,passenger(s), etc.). For instance, the image obtainer 114 may obtain oneor more images from an interior of the vehicle, including one or moreimages of the driver and/or one or more images of any passenger(s). Theimage data analyzer 118 may perform computer vision analysis on theimage(s) to produce the user model data. For example, the image dataanalyzer 118 may estimate driver gender based on face shape and/or bodyproportions (e.g., body size and/or body shape, etc.), may estimatedriver age based on age indicators (e.g., skin wrinkles, hair pattern,hair color, etc.), and/or may similarly estimate passenger information(e.g., number of passengers, passenger gender(s), passenger age(s),etc.). Accordingly, the electronic device 102 may obtain analysis of oneor more images of one or more users from a vehicle interior to determineuser model data. Additionally or alternatively, the electronic device102 may obtain (e.g., receive), from a remote device, analysis of one ormore images of one or more users from a vehicle interior to determineuser model data. Trip planning may be based on user model data.

Demographic pattern data may be estimated based on image analysis (e.g.,computer vision). For example, driver gender, driver age, and/orpassenger information (that are estimated from computer vision) mayindicate a type (e.g., lone middle-age male, teenage female with 3teenage female passengers, etc.), which may be utilized to estimate(e.g., select) a demographic pattern. For example, the electronic device102 may access (from local storage and/or from a remote device, forinstance) demographic pattern data. Demographic pattern data mayindicate common patterns (e.g., preferences, behaviors, habits, etc.)for particular demographics. For instance, users of a type (e.g., of aparticular age, gender, and/or from an area (which may be determinedbased on location data, for example), etc.) may tend to exhibitpreferences for certain destinations and/or routes.

Location data may indicate a location (e.g., a home location, a homeneighborhood location, a home county, home state, etc.) of a user. Theelectronic device 102 may obtain the location data with one or moretechniques (e.g., GPS data, Wi-Fi assisted location (e.g.,triangulation), cellular assisted location (e.g., cellular towertriangulation), and/or inertial navigation, etc.

As illustrated in FIG. 9, for example, the electronic device 102 mayobtain a driver age estimate 979, a driver gender estimate 981, apassenger estimate 983, a location estimate 985, demographic patterndata 987, and/or time 989. In some approaches, the electronic device 102may determine the driver age estimate 979, the driver gender estimate981, the passenger estimate 983, and/or the demographic pattern data 987based on image data and/or computer vision analysis as described above.For example, the image data analyzer 118 may utilize one or more imagesof one or more users (e.g., driver and/or passenger(s)) from a vehicleinterior to determine the driver age estimate 979, the driver genderestimate 981, the passenger estimate 983, and/or the demographic patterndata 987. The electronic device 102 may determine the location estimate985 with one or more techniques (e.g., GPS data, Wi-Fi assisted location(e.g., triangulation), cellular assisted location (e.g., cellular towertriangulation), and/or inertial navigation, etc. The driver age estimate979, the driver gender estimate 981, the passenger estimate 983, thelocation estimate 985, and/or the demographic pattern data 987 may beprovided to the trainer 977. In some approaches, the electronic device102 may also obtain time 989 (e.g., time of day, day of week, week ofmonth, month of year, year, etc.), which may be provided to the trainer977. The time 989 may be obtained from an internal clock and/or from aremote device.

The trainer 977 may perform training based on one or more of the data(e.g., driver age estimate 979, driver gender estimate 981, passengerestimate 983, location estimate 985, the demographic pattern data 987,and/or time 989). For example, the trainer 977 may generate and/orupdate (e.g., refine) one or more weights for trip planning from one ormore of the data. For example, if one or more of the data indicate thatthe user is more likely to prefer a particular restaurant over another,the trainer 977 may increase one or more weights associated with thatrestaurant. In some configurations, the trainer 977 may additionally oralternatively adjust weights for one or more evaluation bases, one ormore trip objectives, and/or one or more intelligence items (e.g.,real-time dynamic destination information).

FIG. 10 illustrates certain components that may be included within anelectronic device 1002. The electronic device 1002 may be an example ofand/or may be implemented in accordance with the electronic device 102described in connection with FIG. 1. The electronic device 1002 may be(or may be included within) a camera, video camcorder, digital camera,cellular phone, smart phone, computer (e.g., desktop computer, laptopcomputer, etc.), tablet device, media player, television, automobile,personal camera, action camera, wearable device (e.g., smart watch,smart watch camera, wearable camera, head-mounted display, etc.),surveillance camera, mounted camera, connected camera, robot, aircraft,drone, unmanned aerial vehicle (UAV), healthcare equipment, gamingconsole, personal digital assistants (PDA), set-top box, etc. Theelectronic device 1002 includes a processor 1075. The processor 1075 maybe a general purpose single- or multi-chip microprocessor (e.g., anARM), a special purpose microprocessor (e.g., a digital signal processor(DSP)), a microcontroller, a programmable gate array, etc. The processor1075 may be referred to as a central processing unit (CPU). Althoughjust a single processor 1075 is shown in the electronic device 1002, inan alternative configuration, a combination of processors (e.g., an ARMand DSP) could be used.

The electronic device 1002 also includes memory 1055. The memory 1055may be any electronic component capable of storing electronicinformation. The memory 1055 may be embodied as random access memory(RAM), read-only memory (ROM), magnetic disk storage media, opticalstorage media, flash memory devices in RAM, on-board memory includedwith the processor, EPROM memory, EEPROM memory, registers, and soforth, including combinations thereof.

Data 1059 a and instructions 1057 a may be stored in the memory 1055.The instructions 1057 a may be executable by the processor 1075 toimplement one or more of the methods 200, 300, 400, 800 describedherein. Executing the instructions 1057 a may involve the use of thedata 1059 a that is stored in the memory 1055. When the processor 1075executes the instructions 1057, various portions of the instructions1057 b may be loaded onto the processor 1075, and various pieces of data1059 b may be loaded onto the processor 1075.

The electronic device 1002 may also include a transmitter 1063 and areceiver 1065 to allow transmission and reception of signals to and fromthe electronic device 1002. The transmitter 1063 and receiver 1065 maybe collectively referred to as a transceiver 1069. One or multipleantennas 1067 a-b may be electrically coupled to the transceiver 1069.The electronic device 1002 may also include (not shown) multipletransmitters, multiple receivers, multiple transceivers and/oradditional antennas.

The electronic device 1002 may include a digital signal processor (DSP)1071. The electronic device 1002 may also include a communicationinterface 1073. The communication interface 1073 may enable one or morekinds of input and/or output. For example, the communication interface1073 may include one or more ports and/or communication devices forlinking other devices to the electronic device 1002. Additionally oralternatively, the communication interface 1073 may include one or moreother interfaces (e.g., touchscreen, keypad, keyboard, microphone,camera, etc.). For example, the communication interface 1073 may enablea user to interact with the electronic device 1002.

The various components of the electronic device 1002 may be coupledtogether by one or more buses, which may include a power bus, a controlsignal bus, a status signal bus, a data bus, etc. For the sake ofclarity, the various buses are illustrated in FIG. 10 as a bus system1061.

The term “determining” encompasses a wide variety of actions and,therefore, “determining” can include calculating, computing, processing,deriving, investigating, looking up (e.g., looking up in a table, adatabase or another data structure), ascertaining and the like. Also,“determining” can include receiving (e.g., receiving information),accessing (e.g., accessing data in a memory) and the like. Also,“determining” can include resolving, selecting, choosing, establishing,and the like.

The phrase “based on” does not mean “based only on,” unless expresslyspecified otherwise. In other words, the phrase “based on” describesboth “based only on” and “based at least on.”

The term “processor” should be interpreted broadly to encompass ageneral purpose processor, a central processing unit (CPU), amicroprocessor, a digital signal processor (DSP), a controller, amicrocontroller, a state machine, and so forth. Under somecircumstances, a “processor” may refer to an application specificintegrated circuit (ASIC), a programmable logic device (PLD), a fieldprogrammable gate array (FPGA), etc. The term “processor” may refer to acombination of processing devices, e.g., a combination of a DSP and amicroprocessor, a plurality of microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration.

The term “memory” should be interpreted broadly to encompass anyelectronic component capable of storing electronic information. The termmemory may refer to various types of processor-readable media such asrandom access memory (RAM), read-only memory (ROM), non-volatile randomaccess memory (NVRAM), programmable read-only memory (PROM), erasableprogrammable read-only memory (EPROM), electrically erasable PROM(EEPROM), flash memory, magnetic or optical data storage, registers,etc. Memory is said to be in electronic communication with a processorif the processor can read information from and/or write information tothe memory. Memory that is integral to a processor is in electroniccommunication with the processor.

The terms “instructions” and “code” should be interpreted broadly toinclude any type of computer-readable statement(s). For example, theterms “instructions” and “code” may refer to one or more programs,routines, sub-routines, functions, procedures, etc. “Instructions” and“code” may comprise a single computer-readable statement or manycomputer-readable statements.

The functions described herein may be implemented in software orfirmware being executed by hardware. The functions may be stored as oneor more instructions on a computer-readable medium. The terms“computer-readable medium” or “computer-program product” refers to anytangible storage medium that can be accessed by a computer or aprocessor. By way of example, and not limitation, a computer-readablemedium may comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program code inthe form of instructions or data structures and that can be accessed bya computer. Disk and disc, as used herein, includes compact disc (CD),laser disc, optical disc, digital versatile disc (DVD), floppy disk, andBlu-ray® disc where disks usually reproduce data magnetically, whilediscs reproduce data optically with lasers. It should be noted that acomputer-readable medium may be tangible and non-transitory. The term“computer-program product” refers to a computing device or processor incombination with code or instructions (e.g., a “program”) that may beexecuted, processed, or computed by the computing device or processor.As used herein, the term “code” may refer to software, instructions,code, or data that is/are executable by a computing device or processor.

Software or instructions may also be transmitted over a transmissionmedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio and microwave are included in the definition oftransmission medium.

The methods disclosed herein comprise one or more steps or actions forachieving the described method. The method steps and/or actions may beinterchanged with one another without departing from the scope of theclaims. In other words, unless a specific order of steps or actions isrequired for proper operation of the method that is being described, theorder and/or use of specific steps and/or actions may be modifiedwithout departing from the scope of the claims.

Further, it should be appreciated that modules and/or other appropriatemeans for performing the methods and techniques described herein, can bedownloaded, and/or otherwise obtained by a device. For example, a devicemay be coupled to a server to facilitate the transfer of means forperforming the methods described herein. Alternatively, various methodsdescribed herein can be provided via a storage means (e.g., randomaccess memory (RAM), read-only memory (ROM), a physical storage mediumsuch as a compact disc (CD) or floppy disk, etc.), such that a devicemay obtain the various methods upon coupling or providing the storagemeans to the device.

It is to be understood that the claims are not limited to the preciseconfiguration and components illustrated above. Various modifications,changes, and variations may be made in the arrangement, operation, anddetails of the systems, methods, and apparatus described herein withoutdeparting from the scope of the claims.

What is claimed is:
 1. A method performed by an electronic device, themethod comprising: obtaining one or more trip objectives; identifying anassociation between at least one site and the one or more tripobjectives; obtaining image data from the at least one site; performinganalysis on the image data to determine dynamic destination informationcorresponding to the at least one site; obtaining a selection orweighting for at least one of a plurality of information types, theplurality of information types including the dynamic destinationinformation; obtaining one or more evaluation bases; performing tripplanning based on the dynamic destination information, the one or moretrip objectives, the one or more evaluation bases, and the selection orweighting; and providing one or more suggested routes based on the tripplanning.
 2. The method of claim 1, further comprising determiningwhether one of the one or more suggested routes is accepted, and in acase that none of the one or more suggested routes is accepted, themethod further comprises: obtaining non-service information for one ormore non-service sites; performing trip planning based on comparing thenon-service information with the dynamic destination information; andproviding one or more alternate routes based on the comparison.
 3. Themethod of claim 1, further comprising determining whether one of the oneor more suggested routes is accepted, and in a case that none of the oneor more suggested routes is accepted, the method further comprises:providing one or more alternate routes; and performing trip planningtraining based on an alternate route selection.
 4. The method of claim1, wherein the dynamic destination information is updated on an order ofminutes or seconds.
 5. The method of claim 1, wherein the dynamicdestination information comprises at least one of a time aspect of anactivity at the at least one site, a population aspect at the at leastone site, a product aspect at the at least one site, a service aspect atthe at least one site, or a site feature aspect.
 6. The method of claim5, wherein the time aspect includes at least one of parking time, waittime, transaction time, and service time.
 7. The method of claim 5,wherein the population aspect includes at least one of a number ofpeople, demographics of people, clothing of people, emotion of people,state of people, and activity of people.
 8. The method of claim 5,wherein the product aspect at the at least one site includes at leastone of product availability, product accessibility, product deals, orproduct price.
 9. The method of claim 5, wherein the service aspectincludes at least one of service availability, service accessibility,service deals, or service price.
 10. The method of claim 5, wherein thesite feature aspect includes at least one of type of furniture, locationof furniture, amount of furniture, furniture occupancy, number ofbathrooms, bathroom availability, site cleanliness, or site lighting.11. The method of claim 1, wherein the plurality of information typesinclude the dynamic destination information and one or more otherinformation types.
 12. The method of claim 11, wherein the one or moreother information types are based on at least one image taken from avehicle of an external scene.
 13. The method of claim 1, furthercomprising ranking a set of potential trips based on a degree to whicheach of the potential trips satisfies the one or more trip objectives inaccordance with the one or more evaluation bases.
 14. The method ofclaim 1, further comprising obtaining analysis on one or more images ofone or more users from a vehicle interior to determine user model data,and wherein performing the trip planning is further based on the usermodel data.
 15. An electronic device, comprising: a processor; a memoryin electronic communication with the processor; instructions stored inthe memory, the instructions being executable to: obtain one or moretrip objectives; identify an association between at least one site andthe one or more trip objectives; obtain image data from the at least onesite; perform analysis on the image data to determine dynamicdestination information corresponding to the at least one site; obtain aselection or weighting for at least one of a plurality of informationtypes, the plurality of information types including the dynamicdestination information; obtaining one or more evaluation bases; performtrip planning based on the dynamic destination information, the one ormore trip objectives, the one or more evaluation bases, and theselection or weighting; and provide one or more suggested routes basedon the trip planning.
 16. The electronic device of claim 15, wherein theinstructions are executable to determine whether one of the one or moresuggested routes is accepted, and in a case that none of the one or moresuggested routes is accepted, the instructions are executable to: obtainnon-service information for one or more non-service sites; perform tripplanning based on comparing the non-service information with the dynamicdestination information; and provide one or more alternate routes basedon the comparison.
 17. The electronic device of claim 15, wherein theinstructions are executable to determine whether one of the one or moresuggested routes is accepted, and in a case that none of the one or moresuggested routes is accepted, the instructions are executable to:provide one or more alternate routes; and perform trip planning trainingbased on an alternate route selection.
 18. The electronic device ofclaim 15, wherein the instructions are executable to update the dynamicdestination information on an order of minutes or seconds.
 19. Theelectronic device of claim 15, wherein the dynamic destinationinformation comprises at least one of a time aspect of an activity atthe at least one site, a population aspect at the at least one site, aproduct aspect at the at least one site, a service aspect at the atleast one site, or a site feature aspect.
 20. The electronic device ofclaim 19, wherein the time aspect includes at least one of parking time,wait time, transaction time, and service time.
 21. The electronic deviceof claim 19, wherein the population aspect includes at least one of anumber of people, demographics of people, clothing of people, emotion ofpeople, state of people, and activity of people.
 22. The electronicdevice of claim 19, wherein the product aspect at the at least one siteincludes at least one of product availability, product accessibility,product deals, or product price.
 23. The electronic device of claim 19,wherein the service aspect includes at least one of serviceavailability, service accessibility, service deals, or service price.24. The electronic device of claim 19, wherein the site feature aspectincludes at least one of type of furniture, location of furniture,amount of furniture, furniture occupancy, number of bathrooms, bathroomavailability, site cleanliness, or site lighting.
 25. The electronicdevice of claim 15, wherein the plurality of information types includethe dynamic destination information and one or more other informationtypes.
 26. The electronic device of claim 25, wherein the one or moreother information types are based on at least one image taken from avehicle of an external scene.
 27. The electronic device of claim 15,wherein the instructions are executable to rank a set of potential tripsbased on a degree to which each of the potential trips satisfies the oneor more trip objectives in accordance with the one or more evaluationbases.
 28. The electronic device of claim 15, wherein the instructionsare executable to obtain analysis on one or more images of one or moreusers from a vehicle interior to determine user model data, and whereinperforming the trip planning is further based on the user model data.29. A non-transitory tangible computer-readable medium storingcomputer-executable code, comprising: code for causing an electronicdevice to obtain one or more trip objectives; code for causing theelectronic device to identify an association between at least one siteand the one or more trip objectives; code for causing the electronicdevice to obtain image data from the at least one site; code for causingthe electronic device to perform analysis on the image data to determinedynamic destination information corresponding to the at least one site;code for causing the electronic device to obtain a selection orweighting for at least one of a plurality of information types, theplurality of information types including the dynamic destinationinformation; code for causing the electronic device to obtain one ormore evaluation bases; code for causing the electronic device to performtrip planning based on the dynamic destination information, the one ormore trip objectives, the one or more evaluation bases, and theselection or weighting; and code for causing the electronic device toprovide one or more suggested routes based on the trip planning.
 30. Thecomputer-readable medium of claim 29, further comprising code forcausing the electronic device to determine whether one of the one ormore suggested routes is accepted, and in a case that none of the one ormore suggested routes is accepted, the computer-readable medium furthercomprises: code for causing the electronic device to obtain non-serviceinformation for one or more non-service sites; code for causing theelectronic device to perform trip planning based on comparing thenon-service information with the dynamic destination information; andcode for causing the electronic device to provide one or more alternateroutes based on the comparison.